作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当尝试调试使用英特尔 Bi-Endian 编译器编译的代码时,我在查看数据时遇到问题。这似乎是我的数据被标记为大尾数法。
我尝试查看的数据是 __be_x
,其中 x
是 int
。
尝试在 x 的值为 1 时打印它,我得到了这个值,可能是因为这个值被解释为小端而不是大端:
(gdb) p __be_x
$4 = 16777216
(gdb) x /4b
0xf850aa0 <__be_x>: 0x00 0x00 0x00 0x01
因此,解释为大端字节序的值是 1。
我认为 GDB 有某种针对此问题的补丁,但我似乎找不到它。你知道如何让GDB识别数据吗?
最佳答案
我不知道这方面的功能 - 我认为如果您可以在同一程序中使用大端和小端类型,则需要 DWARF 扩展 - 但您可以尝试“设置端”。
您可能还喜欢“apropos”命令,它可以搜索 gdb 的帮助文本。您可以使用“apropos endian”轻松找到上述命令。
关于c - 如何让GDB识别bi-endian代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19152836/
我是一名优秀的程序员,十分优秀!