lldb - 有没有一种方法可以不在断点处停止并打印它们已被击中

lldb - is there a way to not stop on breakpoints and print that they've been hit instead

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

所有break set命令都有一个--auto-continue选项(one-letter:-G),它将指示lldb在断点停止后继续(和运行宁它的任何命令)。

您可以 运行 遇到断点时使用 lldb 命令(例如执行回溯或打印一些局部变量),使用 break command add 命令或添加任意数量的 -C 选项到 break set 命令。您还可以按照此处所述向断点添加 Python 实现的回调:

https://lldb.llvm.org/use/python-reference.html#running-a-python-script-when-a-breakpoint-gets-hit

如果您需要做一些更有趣的事情来在遇到断点时收集您的报告。