It appears to me there is an endian problem with formatting the display of
the memory panel in the Momentics IDE debugger perspective. I wanted to
display a memory region with a Memory Unit Size of 4 bytes. If I look at
the memory location thru the Variables window I get what I expect. When I
look at the memory location in the Memory window I get the value displayed
in reverse byte order. I would expect to see the same values in those two
cases.
I am running on a PC x86 target using the IDE on a Win32 platform doing
remote debugging. I am using verison 6.2.1 of Momentics PE.
It appears to me there is an endian problem with formatting the display of
the memory panel in the Momentics IDE debugger perspective. I wanted to
display a memory region with a Memory Unit Size of 4 bytes. If I look at
the memory location thru the Variables window I get what I expect. When I
look at the memory location in the Memory window I get the value displayed
in reverse byte order. I would expect to see the same values in those two
cases.
In the variable window, we have a type associated with
an area of memory – therefor, we can display the value appropriately.
In the memory area, there is no endian-ness information. That area
of memory might be a string (better not swap), a short, a long, or
something else, we don’t/can’t know.
I thought of that but then I ask: Why bother having a way to specify Memory
Unit Size? To me that would provide a hint the user wanted to see the
values in the native format of the processor for that size of data.
In any case, in the Variable window, is there a way to specify I want to see
the next 40 values of a type at a location specified by a pointer variable?
Example: I have this definition: long *foo; Now I want to see 40 long
values at the location pointed to by foo.
Dave G. <~~~> dkg@ormec.com> > wrote:
It appears to me there is an endian problem with formatting the display
of
the memory panel in the Momentics IDE debugger perspective. I wanted to
display a memory region with a Memory Unit Size of 4 bytes. If I look
at
the memory location thru the Variables window I get what I expect. When
I
look at the memory location in the Memory window I get the value
displayed
in reverse byte order. I would expect to see the same values in those
two
cases.
In the variable window, we have a type associated with
an area of memory – therefor, we can display the value appropriately.
In the memory area, there is no endian-ness information. That area
of memory might be a string (better not swap), a short, a long, or
something else, we don’t/can’t know.
I thought of that but then I ask: Why bother having a way to specify Memory
Unit Size? To me that would provide a hint the user wanted to see the
values in the native format of the processor for that size of data.
Hm… I thought of it as just a convenient grouping… but that could
make sense too. Maybe a toggle button to endian switch the data based
on the view size might be an idea.
In any case, in the Variable window, is there a way to specify I want to see
the next 40 values of a type at a location specified by a pointer variable?
Example: I have this definition: long *foo; Now I want to see 40 long
values at the location pointed to by foo.