所以我使用 Qt Creator 和 LLDB 作为调试器。 为了调试东西,我添加了断点,当代码到达断点时它会停止,我可以看到反向跟踪和所有内容,这很有用。但是,有时我不想停止,我只对是否命中断点感兴趣,或者我想检查那里的值。 我通常通过添加调试消息来完成此操作,但这通常需要花费大量时间来重新编译项目并重新运行场景。 我想知道是否有更好的方法来做到这一点,使用调试器,最好是 LLDB。
所有
break set
命令都带有 --auto-continue
选项(一个字母:-G
),该选项将指示 lldb 在停止断点(并运行其任何命令)后继续。
您可以使用
break command add
命令或在 -C
命令中添加任意数量的 break set
选项,在命中断点时运行 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 <bkpt-number>
如果不指定断点编号,lldb 将作用于您设置的最后一个断点。