如何强制gdb在给定地址

时间:2018-05-30 14:53:16

标签: python gdb heap-memory

我正在尝试使用gdb查看python变量。

(gdb) python print(hex(id(a)))
0x7f3ca4f68c20
(gdb) x 0x7f3ca4f68c20
0xa4f68c20: Cannot access memory at address 0xa4f68c20

当有人问我查看0xa4f68c20时,有人可以解释为什么gdb会尝试访问0x7f3ca4f68c20吗?

感谢。

1 个答案:

答案 0 :(得分:0)

假设您的gdb附加到目标进程(通常就是这种情况),您正在查看错误的内存空间。 id(a)在gdb的内存空间中提供对象地址,而x命令在目标内存空间中查找。

如果你的情况,目标似乎也是一个32位进程,这就是你的地址被截断的原因。