错误发生时如何停止LLDB

时间:2017-02-06 10:31:45

标签: c++ macos pyinstaller lldb

我想改进已经很好的PyInstaller问题分析https://github.com/pyinstaller/pyinstaller/issues/2355。为此,我需要捕获所有错误或设置与LLDB的特定断点。

在GitHub上I stated

  

对于初学者来说,基本上只需要一个能够捕获所有错误然后转储调用堆栈的断点。   我试过了break set -E C++breakpoint set --selector __cxa_throw: [...]但是没有,不会停止。

执行 停止,即点击断点if I do b Get但这个选择器影响的功能太多了。

总而言之,当./src/common/stdpbase.cpp(62)出现错误时,如何在http://frightanic.com/misc/hello-world处提供可执行文件?

1 个答案:

答案 0 :(得分:0)

--selector指定ObjC选择器名称的中断。所以我不希望那个人工作。我不知道这些检查宏是如何工作的,但是被绊倒的人说它在非调试中返回一个值或者在调试器中停止调试,所以如果它抛出C ++异常我会感到惊讶。 C ++异常断点没有被触发的事实证明了这一点。您可以为lldb的断点指定class ::方法。所以你可以试试:

(lldb) break set -n wxStandardPathsBase::Get

这应该缩小断点。当然,如果你有wxwidgets的调试信息,你应该能够设置一个文件&线断点也会更精确。