Reputation: 1266
Currently having trouble debugging with XCode. All stack traces only show last two calls made. Can't use lldb
console too. For example a simple unrecognized selector
error only shows this trace log
* 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
Upvotes: 6
Views: 2304
Reputation: 33592
Try printing [NSThread callStackSymbols]
from the debugger, which sometimes works when the debugger doesn't. It doesn't really surprise me that
Additionally, my experience is that GDB is far more reliable.
Upvotes: 6
Reputation: 15385
Unwinding through the Objective-C runtime functions can be tricky on arm, the assembly is hand-tuned and lldb can have trouble figuring out how to unwind past them. In this case it looks like it got one frame farther and then couldn't get any farther.
Upvotes: 0
Reputation: 1266
A simple XCode restart solved the problem. But this bug keep happening after a while later. I'll report a bug about this.
Upvotes: 5