【发布时间】:2022-05-13 16:37:22
【问题描述】:
在 gdb 中打印特定内存地址的内容,我可以运行以下命令。它以十六进制打印内容
x <memoryaddress>
(gdb) x 299395816
0x11d86ae8: 0x0ec14153
我在 gdb 中使用 gdb python 模块,用我的 python 脚本中的 gdb 模块读取内存位置的等效命令是什么。
【问题讨论】:
在 gdb 中打印特定内存地址的内容,我可以运行以下命令。它以十六进制打印内容
x <memoryaddress>
(gdb) x 299395816
0x11d86ae8: 0x0ec14153
我在 gdb 中使用 gdb python 模块,用我的 python 脚本中的 gdb 模块读取内存位置的等效命令是什么。
【问题讨论】:
我猜inferior 是你想要的:
(gdb) python i = gdb.inferiors()[0]
(gdb) python m = i.read_memory(0x7fffffffe39c, 4) # an int32
(gdb) python print(m.tobytes())
b'\x01\x00\x00\x00'
【讨论】: