6

目前在使用 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
4

3 回答 3

6

尝试[NSThread callStackSymbols]从调试器打印,有时调试器不能打印。这并不让我感到惊讶

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

于 2013-03-07T05:14:55.087 回答
5

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

于 2013-03-06T15:53:35.227 回答
0

通过 Objective-C 运行时函数展开在 arm 上可能会很棘手,程序集是手动调整的,而 lldb 可能无法弄清楚如何展开它们。在这种情况下,它看起来更远了一帧,然后就无法再进一步了。

于 2013-03-07T02:46:05.937 回答