Xcode 完整堆栈跟踪

尽管存在调试以查看完整的堆栈跟踪,但主线程中调用的方法的列表。或者任何在命令窗口打印它们的方法。

67741 次浏览

You can print the stack trace in the NSLog by

NSLog(@"Stack trace : %@",[NSThread callStackSymbols]);

Upon a crash, next to the word (lldb), you can type:

po [NSThread callStackSymbols]

Edit:

For better output on console on Swift you can use following line instead:

Thread.callStackSymbols.forEach{print($0)}

You can add breakpoint before exception is thrown. First go to Breakpoint Navigator (cmd + 6). In the bottom left corner mouse click plus button. OR You can use Instruments (/Developer/Applications/Instruments) to help detect usage of zombie objects. Reference

And When you add breakpoint review the picture will create by Xcode.

enter image description here

You can expand the stack trace using the slider at bottom use step over and over for line by line logs.

thanks hope this will help you

In Xcode 5 you can move the slider at the bottom of the pane which shows the stack trace. It controls how much of the struck trace is shown.

Slider controlling the stack trace

In Xcode 6 you can click the button at the bottom left corner of the pane which shows the full stack trace. Xcode 6 show full stack trace

Use the bt command in (lldb).

Once paused or after a crash, just type bt into the debug console.
It will print the full stack trace.

sample output of bt command