Debugging lldb:跳出循环?
我环顾四周,但我似乎找不到任何地方的信息,所以我想这是不可能的 但我想确定一下 在使用lldb时,有没有办法打破循环Debugging lldb:跳出循环?,debugging,lldb,Debugging,Lldb,我环顾四周,但我似乎找不到任何地方的信息,所以我想这是不可能的 但我想确定一下 在使用lldb时,有没有办法打破循环 (如果没有,为什么还没有实现呢?调试信息不会对循环、if分支等源结构进行编码。我使用的所有调试格式都是如此。所以lldb真的没有办法实现跳出循环——它没有办法知道循环是一种东西 在可能的情况下,最干净的方法是将循环正在检查的任何条件设置为“停止循环”值。然后在循环外设置一个断点并继续,您所处的迭代将是最后一次迭代 您还可以使用线程跳转命令将PC移出循环,从该点继续。但是,使用它时
(如果没有,为什么还没有实现呢?调试信息不会对循环、if分支等源结构进行编码。我使用的所有调试格式都是如此。所以lldb真的没有办法实现跳出循环——它没有办法知道循环是一种东西 在可能的情况下,最干净的方法是将循环正在检查的任何条件设置为“停止循环”值。然后在循环外设置一个断点并继续,您所处的迭代将是最后一次迭代
您还可以使用
线程跳转
命令将PC移出循环,从该点继续。但是,使用它时要非常小心,因为很容易跳过一些您可能应该运行的代码。例如,如果存在作用域为循环的对象,则如果将PC跳转到循环外的某一行,这些对象不会被破坏。调试信息不会对循环、if分支等源结构进行编码。我所使用的所有调试格式都是如此。所以lldb真的没有办法实现跳出循环——它没有办法知道循环是一种东西
在可能的情况下,最干净的方法是将循环正在检查的任何条件设置为“停止循环”值。然后在循环外设置一个断点并继续,您所处的迭代将是最后一次迭代
您还可以使用
线程跳转
命令将PC移出循环,从该点继续。但是,使用它时要非常小心,因为很容易跳过一些您可能应该运行的代码。例如,如果有对象的作用域是循环,那么如果您将PC跳转到循环外的某一行,这些对象就不会被破坏。可能finish
哪些对象跳出堆栈帧并停在那里。可能finish
哪些对象跳出堆栈帧并停在那里。