The application can have multiple disjoint address ranges that might be
interesting to exam. The default range being shown is the executable code from
the current program counter, which is often within the least interesting memory
range because it is 1) already available in the disassembly window, 2) usually
doesn't actually change.
The memory window does not provide any functionality to select a different
address range other than 'scrolling' through the address range provided by the
spin buttons, which is both impractical and will often lead to invalid memory
There can be a lot of segments to choose from, firefox has 320.
The user could select the segment, and then specify the offset.
Would replace the "pc" information in the memory window case.
Actually, what I suggested was making it possible for the user to select the
segment to work in, and that within the segment the user could then still either
use arbitrary addresses or specify an offset from the base address. It offers
an additional mode of specifying a valid address.
This can be expanded by adding in a default segment that covers the entire
address range (allowing any address to be specified). In that case, an offset
is identical to an actual address.
2007-09-30 Zhao Shujing <email@example.com>
* gladedir/memorywindow.glade: Change the top text "current program
counter" to segment combox. Fixes #4614 and #4619.
* gladedir/disassemblywindow.glade: Ditto.
* memory/MemoryWindow.java: Added handling for segment.
Added warning dialogs when the address can't be accessed and when the
symbol is not in current context.
Added handling when too many rows be added. Fixes #4870.
* disassembler/DisassemblyWindow.java: Ditto.
*** Bug 4619 has been marked as a duplicate of this bug. ***