具有双端代码的GDB

时间:2013-10-03 07:03:47

标签: c debugging gdb endianness icc

当尝试调试使用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对此有一些补丁,但我似乎无法找到它。

谢谢, 伊泰

1 个答案:

答案 0 :(得分:0)

我不知道这个功能 - 如果你可以在同一个程序中同时使用big-little-endian类型,我认为它需要DWARF扩展 - 但是你可以试试“set endian”。 / p>

您可能也喜欢“apropos”命令,它会搜索gdb的帮助文本。您可以使用“apropos endian”轻松找到上述命令。