我正在使用 gdb 调试一些 C++ 代码。目前,我正在查看的代码遍历指针数组,这些指针要么是指向某个对象的指针,要么是 NULL 指针。
如果我只是 display list[index]->member
当 list[index] 为空时它会提示。是否只有在 list[index] 不为 null 时才显示成员?我知道您可以设置条件断点 ( condition <bp-num> <exp>
),但我不确定这会有什么帮助。
有问题的代码是:
for (int i=0;i<BSIZE*BSIZE;i++){
if (vms[i]==target) {valid=true; break;}
}
其中 vms 是指针数组。
最佳答案
因为 display
接受任意表达式,你可以尝试类似下面的 display
命令:
display (list[index]) ? list[index]->member : "null"
我不确定这是否足以满足您的需求 - 您仍然会得到一个显示,但这不会是一个提示。
关于c++ - gdb中的条件显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6392195/