我想在gdb中只反汇编一行代码;要做到这一点,我需要所述行的内存地址。如何在gdb中获取特定代码行的地址?或者更好的是,gdb中是否有按行号反汇编的命令?
答案 0 :(得分:3)
在您想要反汇编的行上休息一下,然后,您可以尝试获取当前指令。
disp/i $pc
当我调试没有调试信息的二进制文件时,这总是适用于我。也可以通过pc
或print $pc
简单地获取当前info registers
,或者只使用x
指令。
e.g:
x/10i address //displays the first 10 instructions in assembly starting from address
或
x/10i register //displays the first 10 instructions starting from address stored in register
答案 1 :(得分:2)
您可以使用:set disassemble-next-line on
按行号进行反汇编。然后使用您想要在要查看的特定行设置断点的任何技术。