0

gdbinit当 gdb 初始化时,我使用文件来运行一些命令。

我怎样才能使用那里的python命令?而是使用 x/x $pc我想binascii在 $PC 注册后打印 10 个字节。

我怎样才能做到这一点?

4

1 回答 1

2

这个答案这个答案结合起来,我们最终得到:

(gdb) x/10x $pc
0x55555555515d <main+8>:        0x48    0x8d    0x35    0xa0    0x0e    0x00    0x00    0x48
0x555555555165 <main+16>:       0x8d    0x3d

(gdb) source .gdbinit.py
488d35a00e0000488d3d

其中.gdbinit.py包含:

import binascii
import gdb

i = gdb.inferiors()[0]
pc = gdb.parse_and_eval("$pc")
m = i.read_memory(pc, 10)
print binascii.hexlify(m)
于 2021-11-03T03:52:30.577 回答