如何强制 gdb 在给定地址查看



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

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

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

谢谢。

假设您的 gdb 附加到目标进程(通常情况如此(,您正在查看错误的内存空间。id(a)在 gdb 的内存空间中给出对象地址,而x命令则查看目标内存空间。

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

最新更新