lldb:跳出循环?

lldb : Step out of loop?

我环顾四周,但我似乎无法在任何地方找到该信息,所以我想这是不可能的 但我想确定一下。

有没有办法在使用 lldb 时跳出循环?

(如果没有,为什么还没有实施?)

调试信息不​​对循环、if 分支等源结构进行编码。我必须处理的所有调试格式都是如此。所以 lldb 真的没有办法实现跳出循环——它无法知道循环是一回事。

执行此操作的最简洁方法(如果可能)是将循环正在检查的任何条件设置为“停止循环”值。然后在循环外打个断点继续,你所在的迭代就是最后一次迭代

您也可以使用 thread jump 命令将 PC 移出循环,从该点继续。但是,使用它时要非常小心,因为它很容易跳过一些您可能应该拥有的代码 运行。例如,如果有对象在循环范围内,如果您将 PC 跳到循环外的某行,它们将不会被销毁。