调试iOS应用程序:在Xcode下崩溃,但在iPhone上继续工作

调试iOS应用程序:在Xcode下崩溃,但在iPhone上继续工作,ios,objective-c,iphone,xcode6,Ios,Objective C,Iphone,Xcode6,我正在尝试使用Xcode在iPhone上调试iOS应用程序 我通过Xcode调试器启动应用程序,应用程序可以正常运行几分钟。然后我从Xcode收到错误消息: The app "myapp" on "iPhone_device" quit unexpectedly. Message from debugger: Terminated due to signal 9 但iPhone上的应用程序一直在工作,就像什么都没发生一样 这正常吗?这种Xcode行为的可能原因是什么 更新:我的应用程序是在后台

我正在尝试使用Xcode在iPhone上调试iOS应用程序

我通过Xcode调试器启动应用程序,应用程序可以正常运行几分钟。然后我从Xcode收到错误消息:

The app "myapp" on "iPhone_device" quit unexpectedly.
Message from debugger: Terminated due to signal 9
但iPhone上的应用程序一直在工作,就像什么都没发生一样

这正常吗?这种Xcode行为的可能原因是什么


更新:我的应用程序是在后台工作的VoIP应用程序。我刚刚发现,这种应用程序可以在崩溃后在后台自动启动。这可能是一个问题吗?

这意味着您的应用程序正在使用大量内存,因此应用程序被终止。检查内存泄漏。

您的应用程序很可能因内存不足而终止。 最好使用Xcode的管理器查看设备控制台:

如果iOS内存不足并导致你的应用程序死机,你应该看到如下情况:

The app "myapp" on "iPhone_device" quit unexpectedly.
Message from debugger: Terminated due to signal 9
您应该使用Instruments中的Activity Monitor来查看应用程序使用了多少内存

您还可以使用内存监视器仪器,并启用“物理内存空闲”的绘图功能。如果您在崩溃前看到图形接近0,您可以非常肯定这是内存问题


当我在iPhone 5s上运行应用程序时,当我连接iPhone 6时,我遇到了相同的错误。我所要做的就是断开iPhone 6的连接,然后它就可以工作了。

在iOS上,一个应用程序似乎可以继续运行。当你将应用程序放在后台时,当设备内存不足时,它可能会被iOS杀死。不太可能发生在你的Mac电脑上的模拟器。如果您返回应用程序,它将重新启动,并转到您离开它的确切位置。用户没有注意到它在这段时间内被杀死。

但实际上它并没有被杀死。在收到Xcode崩溃消息后,应用程序继续在iPhone上运行。法瓦德·马苏德,我已经做到了。在没有Xcode连接的情况下,应用程序可以正常工作。即使这样,也要检查仪器中是否存在泄漏。测试时是否在设备上关闭应用程序?在Xcode中启用异常断点并运行应用程序,大多数情况下会显示导致中断的行。