我可以使用return
让GDB立即从函数中返回,使用call myFunction
来调用函数。
但是,如何使它跳出当前循环?也就是说,像命中break;
语句一样操作。
使用jump myfile.c:<linenumber>
这种方式可以实现吗?
您可以使用until
使循环结束。
应该在循环的结尾处添加until
。
如果您不需要迭代循环,则这非常有用。
jump
看起来是你想要的。请参见在不同地址继续执行
跳转到[行号]
让我退出循环并跳转到我想要的那一行。这就是我在寻找的答案(也是OP接受的答案)。我不知道为什么其他的回答(在我看来写得很差,至少直到我编辑它之前)获得了更多的赞。 - Nikeuntil
命令告诉它一直执行到某一行。这是一个一次性的断点。 - Nathan Fellman其中一种方法是将循环的条件设置为false。但这意味着您必须等待当前迭代完成。
因此,总结步骤如下:
1. 在循环的最后一行设置断点
2. 继续执行
3. 当断点命中时,将循环条件变量设置为false。
但它不会像直接使用break语句那样起作用。
break;
的方法。 - John Carter
break
退出,还是通过完全跳过循环来改变执行方式?这是为了区分 https://dev59.com/g2Uq5IYBdhLWcg3wQ-NF。 - Ciro Santilli OurBigBook.com