[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
RE: [dsdp-dd-dev] Re: [cdt-dev] Disassembly issues
|
Hi John,
Mikhail,
I'd like to suggest a third option. Introduce a context menu action in the new
Disassembly editor labeled "Show source" (or something to that effect). The
action would close the Disassembly editor and open the Source one. If that's not
possible, I would go with (b), but honestly, I'm not crazy about either
alternative.
I am not sure that adding a
special action which in fact duplicates "Close" is a good
idea. As for (b) I prefer it too, but it could be confusing for new
users.
It seems that we have an agreement on the remaining
issues so I'll go forward with it.
Thanks,
Mikhail
At 06:17 AM 4/22/2008, Mikhail Khodjaiants wrote:
Content-Class:
urn:content-classes:message
Content-Type:
multipart/alternative;
boundary="----_=_NextPart_001_01C8A46A.753B0AE3"
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
:(
Mikhail, I'd like to suggest a third option.
Introduce a context menu action in the new Disassembly editor labeled "Show
source" (or something to that effect). The action would close the Disassembly
editor and open the Source one. If that's not possible, I would go with (b), but
honestly, I'm not crazy about either alternative.
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
This sounds good to me.
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.
I don't think this will be too
confusing.
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?
It makes sense to me. If we come up with even
more advanced disassembly features that not all backends can support, we'll just
keep adding new interfaces, and that will allow us to discover and exercise
those capabilities on the advanced backends.
John
--
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.