每次修改观察点时,GDB都会打印旧值和新值。但是,有时我不想以默认的十进制整数格式打印该值:例如,如果我正在观察*(unsigned*)$ebp
以调试可能的堆栈溢出(哇,SO ......) ,除非以十六进制格式显示(如打印内容时为p/x
),否则该值为无意义。
是否可以设置特定观察点的显示格式?感谢。
答案 0 :(得分:0)
是否可以设置特定观察点的显示格式?
如果您希望观察点以十六进制打印,请将其设置为指针表,例如
watch *(char**)$ebp or
watch *(void**)$ebp
答案 1 :(得分:0)
set output-radix 16
请参考此答案How to make gdb print out all values in hexadecimal mode? 您可以设置由于gdb而发生的所有类型的打印(可能是由于断点,观察点或您的自定义打印)将具有十六进制格式。