调试iOS应用程序:在Xcode下崩溃但继续在iPhone上运行

时间:2015-02-03 07:33:31

标签: 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行为的可能原因是什么?

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

4 个答案:

答案 0 :(得分:8)

您的应用很可能因内存不足而被终止。 最好的方法是使用Xcode的管理器查看设备控制台: 在此输入图像描述 如果iOS内存不足并导致您的应用被盗,您应该会看到如下内容:

The app "myapp" on "iPhone_device" quit unexpectedly.
Message from debugger: Terminated due to signal 9

您应该使用Instruments中的Activity Monitor来查看您的应用程序使用了多少内存。

您还可以使用Memory Monitor仪器并启用" Physical Memory Free"的图形。如果您在崩溃前看到图表接近0,那么您可以非常确定它是一个内存问题。

enter image description here

答案 1 :(得分:1)

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

答案 2 :(得分:0)

当我连接iPhone 6时,当我试图在iPhone 5s上运行应用程序时出现同样的错误。我所要做的就是断开iPhone 6的连接,之后就可以了。

答案 3 :(得分:0)

在iOS上,应用可以似乎保持运行。当您将某个应用置于后台时,如果设备内存不足,它可能会被iOS杀死。使用模拟器在Mac上不太可能发生。如果您返回到该应用程序,它将重新启动并转到您离开它的确切位置。用户没有注意到它被杀死了。