我知道两种GDB反汇编模式:
第一个命令用于显示指令和原始字节,但它似乎不接受反汇编指令的数量 - 只有内存范围:
disas/r $pc,+30
第二个命令可以完全反汇编N个指令,如下所示,但没有原始字节:
x/10i $pc
我想要混合使用这两种模式:将原始字节显示为disas/r
,并且能够像x/10i
中一样指定要反汇编的确切指令数。我可以用GDB吗?
答案 0 :(得分:1)
没有内置方法可以做到这一点。 (顺便说一句,在我看来,这是一个疏忽,也许是一个错误报告要求x/i
能够显示字节是好的。)]
如果你真的需要这个,有一种方法可以自己实现它。基本思想是在Python中编写一个新命令。此命令可以包装disassemble
命令(使用带有gdb.execute
参数的to_string
),然后将其输出限制为N
指令。