当尝试调试使用Intel Bi-Endian编译器编译的代码时,我遇到查看数据的麻烦。 这似乎是我的数据标记为大端。
我试图查看的数据是__be_x,其中x是int。
当它的值为1时尝试打印x,我得到这个值,可能是因为这个值被作为小端而不是大端插入:
(gdb)p __be_x
$ 4 = 16777216
(gdb)x / 4b
0xf850aa0< __ be_x>:0x00 0x00 0x00 0x01
所以这个值作为大端连接是1。
我认为GDB对此有一些补丁,但我似乎无法找到它。
谢谢, 伊泰
答案 0 :(得分:0)
我不知道这个功能 - 如果你可以在同一个程序中同时使用big-little-endian类型,我认为它需要DWARF扩展 - 但是你可以试试“set endian”。 / p>
您可能也喜欢“apropos”命令,它会搜索gdb的帮助文本。您可以使用“apropos endian”轻松找到上述命令。