GDB混乱中的检查命令

时间:2016-05-29 22:47:46

标签: gdb

输入检查命令时:

x/10xb 0xbffff450

显示:

0xbffff450 : 8 bytes
0xbffff458 : 2 bytes

输入时:

x/10xw 0xbffff450

它显示:

0xbffff450 : 4 words
0xbffff460 : 4 words
0xbffff470 : 2 words

我的问题是:
为什么在第一种情况下,下一个地址是0xbffff458,第二个地址是0xbffff460? 地址之间的位置,我的意思是0xbffff451,0xbffff452, ......等等?

1 个答案:

答案 0 :(得分:-2)

x/10xb $some_address显示$some_address处的值和9个连续地址位置的增量,如b中的10xb所示。

另一方面,

x/10xw $some_address显示$some_address和9个连续地址位置的值按字长递增,通常为4 bytes,如w所示。

回到第一个问题,0xbffff458不是0xbffff450的下一个地址。左侧显示的地址仅供参考,对应于右侧所示的第一个值。它只是一种输出风格而已。请注意,字长为4个字节,因此如果从0xbffff450开始显示4个字值,则下一个值对应于十六进制格式的0xbffff460

至于你的第二个问题,这些地址几乎就在那里,你可以通过检查来看到它们的价值 希望这有帮助!