2

在尝试调试使用 Intel Bi-Endian 编译器编译的代码时,我无法查看数据。这似乎我的数据被标记为大端。

我要查看的数据是__be_x,其中xint

x当它的值为 1 时尝试打印,我得到了这个值,可能是因为这个值被当作小端而不是大端来解释:

(gdb) p __be_x
$4 = 16777216
(gdb) x /4b
0xf850aa0 <__be_x>:    0x00    0x00    0x00    0x01

因此,解释为大端序的值是 1。

我认为 GDB 对此有某种补丁,但我似乎找不到它。你知道如何让 GDB 识别数据吗?

4

1 回答 1

0

我不知道这个特性——我认为如果你可以在同一个程序中同时使用大端和小端类型,它需要 DWARF 扩展——但你可以尝试“设置端”。

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

于 2013-10-04T01:54:31.797 回答