Xcode 完整堆栈跟踪

问题描述 投票:0回答:5

调试时是否可以在命令窗口上查看完整的堆栈跟踪(即主线程中调用的方法列表)?

xcode stack-trace
5个回答
165
投票

使用 (lldb) 中的

bt
命令。

暂停或崩溃后,只需在调试控制台中输入

bt

它将打印完整的堆栈跟踪。

sample output of bt command


88
投票

您可以通过

在 NSLog 中打印堆栈跟踪
NSLog(@"Stack trace : %@",[NSThread callStackSymbols]);

发生崩溃时,在单词

(lldb)
旁边,您可以输入:

po [NSThread callStackSymbols]

编辑:

为了在 Swift 控制台上获得更好的输出,您可以使用以下行:

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

72
投票

在 Xcode 6 中,您可以单击窗格左下角的按钮,该按钮显示完整的堆栈跟踪。 Xcode 6 show full stack trace


17
投票

在 Xcode 5 中,您可以移动窗格底部的滑块来显示堆栈跟踪。它控制显示多少敲击痕迹。

Slider controlling the stack trace


4
投票

您可以在抛出异常之前添加

breakpoint
。首先转到
Breakpoint Navigator
(cmd + 6)。鼠标单击左下角的加号按钮。或者 您可以使用
Instruments
(/Developer/Applications/Instruments) 来帮助检测
zombie
objects
的使用情况。 参考

当您添加断点查看时,图片将由

Xcode
创建。

enter image description here

您可以使用底部的滑块展开堆栈跟踪,使用

step over
over
来查看逐行日志。

谢谢希望这对你有帮助

© www.soinside.com 2019 - 2024. All rights reserved.