Hi again,
Sorry for posting once more — I promise this is my last suggestion.
I’d like to propose an improvement related to how IDA handles structs in the disassembly view. Currently, when a struct is declared in memory, all references within that struct’s memory range are shown as pointing to the first member.
For example, if I have [rbx+0x30] referencing a member at offset 0x30, I would expect to be able to jump directly to that offset and inspect it. Instead, IDA jumps to the first struct member.
The issue becomes even clearer when setting hardware read/write breakpoints on struct members. A breakpoint on a member address ends up being applied to the struct’s base address instead. If I manually set the exact address in the breakpoint dialog, the breakpoint works, but it isn’t visually reflected in the disassembly (the red background is missing).
It seems like after declaring struct in memory, it treats all addresses in that struct memory range as one. This is really unintuitive during various GUI actions.
Example
The reference here is pointing to member inside struct (let it be n_elements for example), but hint shows the base address instead. While it’s not a big problem in hint itself (by some maybe even more preferable). Jumping to the struct 's base address instead the member by double clicking [rbp+r12-2C8h] is.
Best regards. Thanks in advance.
