目前在使用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
答案 0 :(得分:6)
尝试从调试器打印[NSThread callStackSymbols]
,这有时在调试器没有时有效。
此外,我的经验是GDB更可靠。
答案 1 :(得分:5)
简单的XCode重启解决了这个问题。但是这个错误会在一段时间后继续发生。我会报告一个关于此的错误。
答案 2 :(得分:0)
通过Objective-C运行时函数展开可能会非常棘手,程序集是手动调整的,并且lldb可能无法确定如何放松它们。在这种情况下,看起来它有一个框架更远,然后无法再进一步。