我的代码充满了以下功能:
bool f_i()
{
if (!f_0()) {
return false;
}
if (!f_1()) {
return false;
}
// ...
if (!f_n()) {
return false;
}
return true;
}
// etc...
在执行的某个步骤中,一些被调用者可以返回false
,并且false
传播通过所有调用者。此刻很难编写错误消息(代码快速更改)。在调试期间,在每个return false;
之前都有过多的错误消息。
是否可以使用false
在return
全局{/ 1}}上设置条件(条件:比如,函数返回GDB
)断点?
答案 0 :(得分:1)
在某些执行步骤中,一些被调用者可以返回false
据我了解,您希望在false
内找到第一个返回f_i()
的函数。您可以使用reverse debugging。
你可以:
完成当前帧执行
(gdb)fin
如果返回值为false
(gdb)reverse-step
如果您需要,可以继续向前,更深入地进入false
传播电话
(gdb)reverse-fin
(gdb)反向步骤