我的应用程序冻结但没有出现错误

Van*_*njo 32 debugging ios xcode-instruments

有没有人知道我有什么要检查我的应用是否会冻结?我的意思是,我可以在iPad屏幕上看到该应用,但没有按钮响应.我点击按钮时尝试调试代码,但我还没有看到任何东西.我正在阅读有关仪器工具的内容; 具体如何使用它们?

有谁能够帮我?我只需要解释如何使用这些工具.

Ben*_*ron 86

听起来你以某种方式阻止了主线程.要调试,在调试器中运行应用程序,当应用程序冻结时,点击Xcode底部日志区域上方的暂停按钮.然后在左侧,您将能够确切地看到每个线程正在做什么,并且您可以看到它被卡住的位置.

暂停按钮

可能是主线程上的长循环或同步死锁.

  • 你不使用任何乐器,只需Xcode.单击Xco​​de左上角的运行按钮运行您的应用程序.这将在调试器中运行.在您的应用中导航,直到您重现冻结.然后单击底部日志输出区域正上方的小暂停按钮(看起来像`||`).它位于原木区域正上方的左侧.一旦你暂停它,你会看到左边的所有线程堆栈跟踪,你可以看到它停留在哪种方法. (5认同)

小智 5

除了暂停和跟踪堆栈跟踪之外,我认为要做的另一件事是检查代码中是否有任何循环导致应用程序冻结。

我最近遇到了类似的问题,但堆栈跟踪并没有多大帮助,我发现在调用reloadData()内部layoutsubviews方法时遇到了永恒循环,这导致了冻结,没有错误,也没有仪器的帮助。