Memory 这个地址怎么能保存这么多数据?
我不确定这是不是一个非常可怕的误会,但我在检查记忆方面遇到了很多麻烦。以下是gdb使用Memory 这个地址怎么能保存这么多数据?,memory,gdb,Memory,Gdb,我不确定这是不是一个非常可怕的误会,但我在检查记忆方面遇到了很多麻烦。以下是gdb使用x/8w检查的结果 0xbffff7a0: 0xb7f9f729 0xb7fd6ff4 0xbffff7d8 0x08048529 0xbffff7b0: 0xb7fd6ff4 0xbffff870 0xbffff7d8 0x00000000 所以我假设0xb7f9f729位于0xbfff7a0,然后0xb7fd6ff4位于0xbfff7a4,等等。您能解释一下它是如何按字节工作的吗?是从第一个内存部分到下一
x/8w
检查的结果
0xbffff7a0: 0xb7f9f729 0xb7fd6ff4 0xbffff7d8 0x08048529
0xbffff7b0: 0xb7fd6ff4 0xbffff870 0xbffff7d8 0x00000000
所以我假设0xb7f9f729
位于0xbfff7a0
,然后0xb7fd6ff4
位于0xbfff7a4
,等等。您能解释一下它是如何按字节工作的吗?是从第一个内存部分到下一个内存部分的16个字节,每4个字节保存自己的字吗
我很难理解这个记忆概念,有谁知道一个好的资源可以让学习更容易吗?对这两个问题都是肯定的
gdb(1)
将您的x/8w
命令中的w
修饰符理解为“四字节字”,因此您将以四个字节为一组打印32个字节gdb(1)
只需将它们以短线排列,并带有偏移量以便于阅读
我应该提到,打印的准确值实际上取决于
使用x/32
可以获得类似但可能更容易理解的布局
都在里面