输入检查命令时:
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,
......等等?
答案 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
。
至于你的第二个问题,这些地址几乎就在那里,你可以通过检查来看到它们的价值 希望这有帮助!