C GNU GDB:自定义监视点输出格式

C GNU GDB:自定义监视点输出格式,c,debugging,gdb,breakpoints,watchpoint,C,Debugging,Gdb,Breakpoints,Watchpoint,每次修改观察点时,GDB将打印旧值和新值。但是,有时我不想以默认的十进制整数格式打印该值:例如,如果我正在观看*(unsigned*)$ebp调试可能的堆栈溢出(哇,所以…),除非以十六进制格式显示该值,否则该值是无意义的(如打印某些内容时的p/x) 是否可以设置特定观察点的显示格式?谢谢 是否可以设置特定观察点的显示格式 如果您希望观察点以十六进制打印,请将其设置为指针的观察,例如 watch *(char**)$ebp or watch *(void**)$ebp 请参考这个答案

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

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

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

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

watch *(char**)$ebp     or
watch *(void**)$ebp
请参考这个答案 您可以设置由于gdb(可能是由于断点、监视点或自定义打印)而发生的所有类型的打印将采用十六进制格式

set output-radix 16