【问题标题】:GDB: How does one format breakpoint output?GDB:一种格式断点如何输出?
【发布时间】:2015-04-30 03:58:07
【问题描述】:

目前,我正在使用 set disassemble-next-line 设置运行 GDB。对于每一行,这给了我一个看起来像这样的格式:

   0x08120921 <arith_driver+1>:  57     push   %edi

相反,我希望这条线看起来像:

0x8120921<arith_driver+1>data.c:2577    push %edi   M[0xffffc9c4]=0x084073c2 esp=0xffffc9c4

其中 M[address] 表示内存中的一个位置,而 esp 指的是寄存器。其他一切都是不言自明的。似乎应该有一种方法来指定汇编代码输出格式,但我找不到任何东西。有什么帮助吗?

【问题讨论】:

  • gdb 不知道每条指令的作用,因此它不知道应该为您打印什么内容。 (我假设您并不总是想打印M[esp]esp)。
  • @Jester Fair。第三列无关紧要。只需让机器指令在它们旁边打印源代码行并且不打印代表机器代码的字节就足够了。有没有办法做到这一点?

标签: debugging assembly formatting x86 gdb


【解决方案1】:

没有内置的方法可以做到这一点。你也许可以通过修改 gdb 源代码来做一些事情。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多