LLDB堆栈跟踪仅显示XCode中的最后2个调用

时间:2013-03-06 15:15:12

标签: ios xcode lldb

目前在使用XCode进行调试时遇到问题。所有堆栈跟踪仅显示最后两次调用。也无法使用lldb控制台。例如,简单的unrecognized selector错误仅显示此跟踪日志

* thread #1: tid = 0x2503, 0x32d2e960 libobjc.A.dylib`objc_exception_throw, stop reason = breakpoint 1.1
    frame #0: 0x32d2e960 libobjc.A.dylib`objc_exception_throw
    frame #1: 0x37c4ae06 CoreFoundation`-[NSObject(NSObject) doesNotRecognizeSelector:] + 170

3 个答案:

答案 0 :(得分:6)

尝试从调试器打印[NSThread callStackSymbols],这有时在调试器没有时有效。

,这并不让我感到惊讶

此外,我的经验是GDB更可靠。

答案 1 :(得分:5)

简单的XCode重启解决了这个问题。但是这个错误会在一段时间后继续发生。我会报告一个关于此的错误。

答案 2 :(得分:0)

通过Objective-C运行时函数展开可能会非常棘手,程序集是手动调整的,并且lldb可能无法确定如何放松它们。在这种情况下,看起来它有一个框架更远,然后无法再进一步。