如何使用gdb linux在当前指令指针之前(之前)打印指令?
答案 0 :(得分:2)
在具有固定指令长度的处理器(例如SPARC
)上,这很容易:
(gdb) disas $pc-40,$pc+1
在x86_64
上,同样的方法有效,但有一点需要注意:$pc-40
可能会在指令中间“降落”,并且您会在前几条指令中获得“垃圾”。但是,通常反汇编重新同步并且输出的尾部是正确的。很少没有,然后你必须尝试$pc-41
或$pc-42
。
答案 1 :(得分:1)
根据GDB文档的Machine Code部分,当您为disassemble
命令指定参数时,可以在表达式中使用$pc
,例如
disas $pc-8, $pc