gdb反汇编一行

时间:2012-06-03 22:06:29

标签: c gcc gdb

我想在gdb中只反汇编一行代码;要做到这一点,我需要所述行的内存地址。如何在gdb中获取特定代码行的地址?或者更好的是,gdb中是否有按行号反汇编的命令?

2 个答案:

答案 0 :(得分:3)

在您想要反汇编的行上休息一下,然后,您可以尝试获取当前指令。

disp/i $pc

当我调试没有调试信息的二进制文件时,这总是适用于我。也可以通过pcprint $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按行号进行反汇编。然后使用您想要在要查看的特定行设置断点的任何技术。