【问题标题】:GNU GDB: customize watchpoint output formatGNU GDB:自定义观察点输出格式
【发布时间】:2013-04-07 23:38:23
【问题描述】:

每次修改观察点时,GDB 都会打印旧值和新值。但是,有时我不想以默认的十进制整数格式打印该值:例如,如果我正在观看 *(unsigned*)$ebp 以调试可能的堆栈溢出(哇,SO...),该值是无意义的,除非以十六进制格式显示(如打印时p/x)。

是否可以为特定观察点设置显示格式?谢谢。

【问题讨论】:

    标签: c debugging gdb breakpoints watchpoint


    【解决方案1】:

    是否可以为特定观察点设置显示格式?

    如果您希望观察点以十六进制打印,请将其设置为指针的观察点,例如

    watch *(char**)$ebp     or
    watch *(void**)$ebp
    

    【讨论】:

      【解决方案2】:
      set output-radix 16
      

      请参考这个答案How to make gdb print out all values in hexadecimal mode? 您可以设置由于 gdb 发生的所有类型的打印(可能是因为断点、观察点或您的自定义打印)将具有十六进制格式。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-15
        • 2011-03-29
        相关资源
        最近更新 更多