debugging lldb:跳出循环?

oiopk7p5  于 2022-11-14  发布在  其他
关注(0)|答案(2)|浏览(202)

我已经环顾四周,但我似乎不能找到任何地方的信息,所以我想这是不可能的,但我想确定。
在使用lldb时,有没有办法跳出循环?
(And若否,原因为何?)

dwthyt8l

dwthyt8l1#

调试信息不会对循环、if分支等源代码结构进行编码。我所使用的所有调试格式都是如此。因此,lldb确实无法实现跳出循环, -它无法知道循环是一个东西。
如果可能的话,最简单的方法是将循环检查的条件设置为“停止循环”值,然后在循环外设置断点并继续,此时你所在的迭代将是最后一次迭代。
你也可以使用thread jump命令将PC移出循环,从那一点继续。但是使用这个命令要非常小心,因为它很容易跳过一些你可能已经运行过的代码。例如,如果有对象在循环范围内,如果你将PC跳转到循环外的某行,它们不会被破坏。

zdwk9cvp

zdwk9cvp2#

如果知道循环结束的line,就可以使用thread until <line>跳出循环。
这与在<line>中设置临时断点相同,但只设置一次。

相关问题