Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-debug-dev] Memory Window Hex/ASCII Renderer

Hi all,

I noticed this problem/behaviour in other part of Eclipse like the register view who performs its own formatting without taking care of register size but only register type, assuming that type of the debbuged processor is the same as type of the machine which run Eclipse.

It seems that Eclipse get the value from the debugger only once using the appropriate MI commands (-data-read-memory or -data-list-register-values) , and then performs conversion (to integer, hexa ...) by its own, without asking to the debugger so without taking care of register size, MAU or any specific processor stuffs.

To me it's the job of the debugger to perform conversion (using the "fmt" flag of -data-list-register-values MI command or the "wort-format" flag of -data-read-memory) not to Eclipse.

I already logged a bug (https://bugs.eclipse.org/bugs/show_bug.cgi?id=88058) but dont know the status for CDT3.x

Denis







Chuong, Patrick wrote:

Hi All,

I am seeing something inconsistencies in the memory window, the behavior between hex/ascii and integer renderer is somewhat different. The first thing that I notice is that in hex/ascii renderer, it is showing the value in big endian format even thought the target is little endian. But for the unsinged integer renderer, it does consider target endianess and set the default display format from the target. The second thing that I notice is that when you write to the target in hex/ascii renderer, it is writing it in big endian format, which doesn’t work for little endian target; the byte order is reversed.

Here is an example, I have a little endian target and have the hex renderer displaying memory at address 0, and an unsigned integer renderer displaying memory at address 0 as well. And the value at this address is 1. The unsigned renderer is displaying 1, but the hex renderer is displaying 01000000. When I enter the value 1 in the hex renderer, it is displaying 16777216 in the unsigned renderer. I think this is an incorrect behavior, I would expect to see 1 in the hex renderer (if it consider endianness) and 1 in the unsigned renderer, as long as both of these display the same endianess.

If target that is in big endian, the hex renderer is perfectly fine. So, I am wondering if this is a general case for everyone, or it is just a specific case for me.

Thanks you,

Patrick

------------------------------------------------------------------------

_______________________________________________
cdt-debug-dev mailing list
cdt-debug-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-debug-dev




Back to the top