| Summary: | EDC doesn't fill functionName for StackFrameDMC when file/line not found | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Tools] CDT | Reporter: | Kirk Beitz <kirk.beitz> | ||||
| Component: | cdt-debug-edc | Assignee: | Ken Ryall <ken.ryall> | ||||
| Status: | RESOLVED FIXED | QA Contact: | Ken Ryall <ken.ryall> | ||||
| Severity: | normal | ||||||
| Priority: | P3 | ||||||
| Version: | 7.0 | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | All | ||||||
| OS: | All | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
*** cdt cvs genie on behalf of kryall *** Bug 322310 - EDC doesn't fill functionName for StackFrameDMC when file/line not found [*] Stack.java 1.30 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/edc/org.eclipse.cdt.debug.edc/src/org/eclipse/cdt/debug/edc/services/Stack.java?root=Tools_Project&r1=1.29&r2=1.30 [*] IEDCSymbols.java 1.4 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/edc/org.eclipse.cdt.debug.edc/src/org/eclipse/cdt/debug/edc/services/IEDCSymbols.java?root=Tools_Project&r1=1.3&r2=1.4 [*] Symbols.java 1.12 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/edc/org.eclipse.cdt.debug.edc/src/org/eclipse/cdt/debug/edc/internal/services/dsf/Symbols.java?root=Tools_Project&r1=1.11&r2=1.12 cdt cvs genie reports that the patch has been committed. |
Created attachment 176294 [details] patch adding function getSymbolNameAtAddress in IEDCSymbol.java & Symbols.java for use in StackFrame.java CDT provides for the frames in the Debug "stack" view and for CSourceNotFound editor windows to have descriptions that are based upon the function name, module name and address if the file for the source cannot be determined (e.g. linked/loaded shared library without debug symbols, etc). while DSF-gdb and other debuggers provide a function-name for these circumstances, EDC does not yet do this. the attached StackFrameDMC.functionName-lookup.patch solves the problem when it can by enhancing IEDCSymbol.java and Symbols.java to add a new member interface and function getSymbolNameAtAddress(), which then calls the reader's getSymbolAtAddress() function to return an appropriate symbol, from which it retrieves and returns the name. StackFrameDMC constructor then takes the name and caches it for later use when constructing the descriptions for frames to populate the Debug "stack" view, and for the names of CSourceNotFound editor windows. (the attachment is sufficient for EDC debuggers for which the member function BaseExecutableSymbolicsReader#getSymbolAtAddress provides a symbol when an address is passed that is >= the symbol location and < the symbol location + the symbol size. EDC for windows-x86 will currently fail unless the patches for ecl.bz 322309 & 322297 are approved and committed.)