[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| [cdt-dev] Disassembly issues | 
Hi 
all,
 
To move forward with 
the new disassembly implementation I need your feedback on the following 
proposals and issues.
 
1. Management 
of disassembly/source editors and source lookup
 
The only way to open 
a disassembly editor window is to use the "Open Disassembly" 
action from the Debug view's context menu or from the "Source Not Found" 
editor.
 
Once the 
disassembly editor is opened for a disassembly context it becomes the 
default editor for all elements that expose the same debug context. 
There are two 
options on how to manage the source editors in this 
case:
a. always try to 
open the source editor in background if the source file is 
available
b. do not try to 
open the source editor. In this case to open it user has to close the 
disassembly editor and double click on the corresponding stack 
frame.
In both cases we 
need to maintain the IP position in the source editor if it is open, which 
means that we can not use the default ISourceDisplay adapter provided by the 
platform :(
 
2. Stepping mode 
selection
 
Currently there 
is a toggle action "Instruction Mode" to switch between the source and 
instruction modes. There have been requests to make the instruction mode default 
when the disassembly view has focus (doesn't seem to work 
anymore).
I would propose to 
replace the "Instruction Mode" action by the dropdown menu with the 
following choices:
 
a. "Context" - use 
the instruction mode if the disassembly window is open, otherwise 
use the source mode
b. "Source" - always 
use the source mode.
c. "Instruction" - 
always use the instruction mode
 
3. Preference 
pages
 
As the content of 
the disassembly viewer is provided by models the creation of preference 
pages becomes a problem. It seems that we need one global page for the 
preferences shared by all models and a special preference page for each model. 
It could be confusing for the end users.
 
4. CDI 
support
 
Currently, the CDI 
interfaces for disassembly are duplicates of the disassembly related 
gdb/mi commands. This is not sufficient to implement the 
efficient "infinite" scrolling which is a big challenge for assemblers with 
variable instruction size. 
Does it make sense 
to add an API extensions for the cases when some additional information 
(like previous/next valid instruction address) is available from the 
backend?
 
Comments? 
Ideas?
 
Thanks,
Mikhail
-- 
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium.  Thank you.