为什么GDB以小数形式输出内存?

时间:2016-10-01 18:49:37

标签: linux debugging gdb exploit

我只是试图检查GDB中的内存。比如说我用" A"填充一个缓冲区,然后我找到我的" A"开始然后转储那个内存值我小数记忆显然。

然后奇怪的是我没有改变任何东西,再次尝试,并且出现了#34; A""""< 34>

这就是GDB所展示的......

x/ 0xbffff558
0xbffff558: 1094795585

为什么会发生这种情况?感谢。

1 个答案:

答案 0 :(得分:4)

您需要指定内存中数据的输出方式。例如

x/x 0xbffff558将以十六进制输出该内存 x/i 0xbffff558将输出该内存作为指令 x/s 0xbffff558会将该内存输出为字符串

此外,您可以指定输出内容的大小

x/10bx 0xbffff558将以十六进制输出10个字节 x/10wx 0xbffff558将以十六进制输出10个字(每个字4个字节) x/20i 0xbffff558将输出20条指令 x/2s 0xbffff558将输出2个字符串