| Summary: | edc - ARM - disassembly - fix several bugs with refactoring of ARMDisassembly and Disassembly | ||||||
|---|---|---|---|---|---|---|---|
| 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: |
|
||||||
resolved with 2010.oct.04 edc merge commits by ken.ryall@nokia.com |
Created attachment 178183 [details] fix several bugs with refactoring of ARMDisassembly.java and Disassembly.java the attached patch re-factors ARMDisassembly.java and Disassembly.java the goals, in order of importance: - fix several bugs viewing ARM disassembly not appearing in edc windows debugger - view stops updating until the user closes and re-opens the view - scrolling back would result in disassembly without mixed source - mixed source with inline code would semi-arbitrarily mix code incorrectly - stepping through a long function or scrolling down would stop mixing source - the correct line number would be mixed in from the wrong file - re-use portions of the code known to work for Disassembly.java by making them protected and thus visible to ARMDisassembly.java and other extending classes (this applies most specifically to new function ARMDisassembly#getStartAddressForLineEntryContainingAddress() ). - bulletproof the calls from NPEs could due to requests for services that might arrive just after the service manager shuts down with the end of debugging - eliminate other redundant code (one ARMDisassembly @override was identical; the code extracted to new protected mixSource() was not part of other problems, but was also identical; the code establishing status for a missing disassembler or unreadable was essentially identical, but the ARMDisassembly code could not see the new property values due to access restriction across plugins). - avoid confusion between class member and local function variables named thumbMode by renaming the class member currentlyProcessingThumbMode.