如何在return语句上全局设置条件断点
How to set conditional breakpoint on return statement globally?
我有一个充满函数的代码,比如:
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;
之前都有错误台面是过分的。
是否可以使用GDB
在return
语句上全局设置条件(条件:例如函数返回false
)断点?
在执行的某个步骤中,某些被调用者可能返回错误的
据我所知,您希望在f_i()
中找到返回false
的第一个函数。您可以对此使用反向调试。您可以:
-
完成当前帧执行
(gdb)鳍
-
如果返回值为
false
,则后退一步(gdb)反步
-
如果需要,您可以继续后退,深入
false
传播调用(gdb)反向翅片
(gdb)反步
相关文章:
- 条件断点在不应该触发时触发
- 如何在引用上设置数据断点
- 条件断点失败的 GDB 特征调试
- GDB有条件断点,怪异的行为
- 对常量 wchar_t* 设置条件
- 为 libclang 全局设置 -D 宏编译器标志
- 如何在 Visual Studio 中基于字符串比较设置条件断点
- 如何在共享库中的确切行号上设置一个断点
- 如何在本地设置和全局设置之间以C 11 RNG的初始状态进行切换
- 在共享对象文件中设置 GDB 断点
- 如何为数组中的特定空间正确设置条件
- 条件断点:此表达式具有副作用,不会计算
- 如何在return语句上全局设置条件断点
- 为访问冲突定义条件断点
- 如何检查一个单词是否以大写字母开头,如果是,则设置条件
- 是否可以全局设置qmake调试?
- 在条件断点中使用unsigned long
- 设置依赖于调用栈的条件断点
- 在Visual Studio 2012中设置内存断点
- 在语句中设置条件检查格式"if"最佳方法