gpt4 book ai didi

c++ - 如何全局设置返回语句的条件断点?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:17:16 27 4
gpt4 key购买 nike

我有一个充满功能的代码,例如:

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)断点?

最佳答案

On some step of execution some callee can return false

据我了解,您想在 f_i() 中找到第一个返回 false 的函数。您可以使用 reverse debugging为了这。您可以:

  1. 完成当前帧执行

    (gdb) 鳍

  2. 后退,如果返回值为false

    (gdb) 反向步

  3. 如果你需要,你可以继续往回走,更深入到false传播调用

    (gdb) 反鳍
    (gdb) 反向步

关于c++ - 如何全局设置返回语句的条件断点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25967445/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com