c - gdb反汇编一行

标签 c gcc gdb

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

最佳答案

在要反汇编的行上打一个断点,然后,你可以尝试获取当前指令。

disp/i $pc

当我在没有调试信息的情况下调试二进制文件时,这对我总是有效。也可以通过 print $pcinfo registers 或简单地使用 x 指令简单地获取当前的 pc . 例如:

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

关于c - gdb反汇编一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10874298/

相关文章:

c - malloc 如何在多线程环境中工作?

c - 如何使用在同一 CPU 上运行的调试器读取 CPU 寄存器?

c++ - 使枚举调试器感知的宏?

c++ - 为什么 GCC 不能优化 `std::sqrt` ?

gcc - `g++` 只是 `gcc -lstdc++` 吗?

linux - ARM 上的断点

c - OSX/Clang 版本的 __progname 获取可执行文件的绝对路径?

c - 如何在 C 中使用正则表达式//?单行注释

c - 寻求开箱即用的基于 Windows 的 C 单元测试系统(最好使用 Netbeans)

c - strncmp 实际上做了什么?