2016-05-29 66 views
1

当键入检查命令:在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, ...等等?

回答

-2

x/10xb $some_address显示$some_address处的值和9个连续的地址位置,如b10xb中所指示的那样增加字节。

在另一方面x/10xw $some_address示出了在由字长递增$some_address和9连续地址位置通常是通过4 bytesw所指示的值。

回到你的第一个问题,它不是像0xbffff4580xbffff450的下一个地址。左侧显示的地址只是指示性的,对应于右侧的第一个值。这只是一种输出方式,没有别的。请注意,字长是4个字节,因此如果从0xbffff450开始显示4个字值,则下一个值对应于十六进制格式的0xbffff460

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