我的应用程序被卡住了15秒然后被释放,在此期间完整的用户界面被冻结,用户无法点击任何内容。它是一个生产应用程序,在调试模式下无法重现。
有没有办法在应用程序挂起时记录线程堆栈跟踪(类似于Android的ANR)?
答案 0 :(得分:0)
您可以尝试将异常断点放到项目/工作区。
转到左侧窗格的“断点”选项卡,然后点击左侧的加号(+)。 然后只需添加异常断点。
然后,您还可以编辑断点,使其仅用于Objc异常。 您可以通过这种方式揭示应用程序崩溃的原因,但也可能是由内存异常等引起的。
如果您没有通过这种方式找到答案,可以尝试使用乐器。这是一个很好的诀窍如何使用它。 `Ray Wenderlich - Instruments tutorial
答案 1 :(得分:0)
将您的设备连接到计算机。打开Xcode。在标签栏上有一个名为“Window”的菜单,从中选择“Devices”选项。在左侧列中,您将看到您的设备。选择你的手机。在同一屏幕上将有一个日志控制台,输出设备日志和用户日志(使用NSLog
编写)
要将NSLog日志写入文件,您应该编写一个自定义方法来执行此操作。为此,您可以看到this question有几种方法可以实现它。它对你有用。