我搜索过但无法找到一个好的解决方案。这可能吗,为什么?
答案 0 :(得分:0)
LLDB不支持可以稍微运行debugee然后执行进一步步骤的断点命令。当debugee再次启动时,断点命令终止。因此,您无法使用断点命令来执行此操作。这是一个限制,将在某个时候修复,但它不是一件小事。
然而,lldb还有一个脚本步骤"功能,允许您制作自己的自定义步骤操作。您可以使用它来解决此限制。示例文件中的FinishPrintAndContinue:
http://llvm.org/svn/llvm-project/lldb/trunk/examples/python/scripted_step.py
几乎是你想要的。您只需要更改continue以检查返回值(使用SBThread :: GetStopReturnValue),然后根据结果继续或停止。然后你可以在有问题的函数上放置一个断点,并添加一个运行这个奇特步骤的命令。