【问题标题】:Make GDB print context around every time每次都让 GDB 打印上下文
【发布时间】:2013-04-05 19:59:22
【问题描述】:

LLDB 每次都在当前行周围打印上下文,如下所示:

     int a = 12;
     int b = a * 13;
->   printf("%d\n", b);
     return 0;
   }

同时,GDB 只打印当前行:

->   printf("%d\n", b);

我可以像 LLDB 一样让 GDB 在每一步都打印上下文吗?谷歌搜索给出所有列表命令。

【问题讨论】:

    标签: gdb


    【解决方案1】:

    实现此目的的一种方法可能是定义一个重新定义关键字的宏,例如“s”或“n”。 例如,如果您想在每一步打印出堆栈指针的值,您可以通过将这些行输入 (gbd) 控制台来重新定义“s”:

    def s
    step
    info registers sp
    end
    

    现在每次使用命令“s”时,实际上都会执行一步并打印 sp 寄存器

    【讨论】:

    • 但是没有花式-> 很遗憾。
    【解决方案2】:

    没有内置的方法可以做到这一点。

    你可以让它工作,有点,使用 hookpost-stop 来调用显式列表命令。

    不过,我认为大多数人只是使用众多 gdb GUI 之一。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多