卡在ios中时记录线程堆栈跟踪

时间:2015-09-08 11:56:47

标签: ios

我的应用程序被卡住了15秒然后被释放,在此期间完整的用户界面被冻结,用户无法点击任何内容。它是一个生产应用程序,在调试模式下无法重现。

有没有办法在应用程序挂起时记录线程堆栈跟踪(类似于Android的ANR)?

2 个答案:

答案 0 :(得分:0)

您可以尝试将异常断点放到项目/工作区。

Breakpoint tab

转到左侧窗格的“断点”选项卡,然后点击左侧的加号(+)。 然后只需添加异常断点。

Exception breakpoint

然后,您还可以编辑断点,使其仅用于Objc异常。 您可以通过这种方式揭示应用程序崩溃的原因,但也可能是由内存异常等引起的。

如果您没有通过这种方式找到答案,可以尝试使用乐器。这是一个很好的诀窍如何使用它。 `Ray Wenderlich - Instruments tutorial

答案 1 :(得分:0)

将您的设备连接到计算机。打开Xcode。在标签栏上有一个名为“Window”的菜单,从中选择“Devices”选项。在左侧列中,您将看到您的设备。选择你的手机。在同一屏幕上将有一个日志控制台,输出设备日志和用户日志(使用NSLog编写)

要将NSLog日志写入文件,您应该编写一个自定义方法来执行此操作。为此,您可以看到this question有几种方法可以实现它。它对你有用。