debugging lldb -有没有一种方法可以不停止在断点上,而是打印它们已经被命中

f87krz0w  于 2023-01-13  发布在  其他
关注(0)|答案(1)|浏览(134)

所以我使用Qt Creator和LLDB作为调试器。为了调试东西,我添加了断点,当代码命中断点时,它会停止,我可以看到反向跟踪等,这很有用。然而,有时我不想停止,我只对断点是否命中感兴趣。或者我想检查那里的一个值。我通常通过添加调试消息来做到这一点,但这通常需要大量的时间来重新编译项目并重新运行场景。我'我想知道有没有更好的方法来完成这个任务,使用调试器,最好是LLDB。

8mmmxcuj

8mmmxcuj1#

所有break set命令都带有--auto-continue选项(一个字母:-G),其将指示lldb在针对断点停止(并运行其任何命令)之后继续。
当断点被命中时,你可以使用break command add命令或通过在break set命令中添加任意数量的-C选项来运行lldb命令(例如,执行回溯或打印一些局部变量)。你也可以向断点添加Python实现的回调,如下所述:
https://lldb.llvm.org/use/python-reference.html#running-a-python-script-when-a-breakpoint-gets-hit
如果你需要做一些更花哨的事情来收集你的报告时,你击中断点。
如果要编辑当前活动的断点,可执行以下操作:
breakpoint modify <break_point_id> -G true

相关问题