Objective-c – How to print out a stack trace to the console/log in Cocoa

callstackcocoaintrospectionobjective c

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

Best Answer

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.