我只是试图检查GDB中的内存。比如说我用" A"填充一个缓冲区,然后我找到我的" A"开始然后转储那个内存值我小数记忆显然。
然后奇怪的是我没有改变任何东西,再次尝试,并且出现了#34; A""""< 34>
这就是GDB所展示的......
x/ 0xbffff558
0xbffff558: 1094795585
为什么会发生这种情况?感谢。
答案 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个字符串