Search code examples
objective-ccocoacallstackintrospection

How do you print out a stack trace to the console/log in Cocoa?


I'd like to log the call trace during certain points, like failed assertions, or uncaught exceptions.


Solution

  • This code works on any thread:

    NSLog(@"%@", NSThread.callStackSymbols);
    

    Returns an array containing the call stack symbols. Each element is an NSString object with a value in a format determined by the backtrace_symbols() function.