重新启动应用程序时出现异常SIGKILL

17

我在iPhone模拟器中构建并运行一个项目,然后按下Home键将其发送到后台。接着双击Home键查找我的应用程序,并点击它。它变为活动状态,应用程序继续运行。不管我重复多少次,这里都没有问题。然后,我通过点击应用程序图标上的小红减号来杀死进程。但是,如果我再次点击应用程序图标以重新启动它,我会收到SIGKILL错误并导致应用程序崩溃。这可能是什么原因?这可能是由于我的XCode首选项造成的吗?


它只是说收到了 SIGKILL 信号。 - Mikayil Abdullayev
有很多可能导致SIGKILL错误。请提供您的控制台信息。 - Raxit
尝试在可执行文件中设置nszombieenabled...如果是一些内存管理问题。 - sujith1406
你在启动时做什么?你在读取某个文件吗? - Cyprian
2个回答

23

这并不是真正的崩溃:这只是XCode对于你点击小红减号有延迟反应而已。当你以这种方式终止你的应用程序时,操作系统会向该进程发送一个SIGKILL信号——但是直到你重新启动应用程序后,XCode的调试器才能“看到”这个SIGKILL。

顺便说一下,你可以通过在调试器中点击“继续”按钮来“恢复”这个“崩溃”。


但是,这里有一个小细节。它并不会发生在所有应用程序中,只会在其中的两个应用程序中发生。 - Mikayil Abdullayev
可以说这是XCode中的一个错误,它根本不应该将操作系统的SIGKILL呈现为需要调试的内容。但我怀疑在苹果公司的“修复XCode中的问题”列表中,这个问题可能要等一段时间才能得到解决。如果你向苹果公司提交一个错误报告,并且提供两个应用程序始终触发此错误(而其他应用程序则没有),那么这可能会对他们有所帮助。 - Scott Forbes

1

我在模拟器中遇到过类似的崩溃,当时我没有让调试器从应用程序上优雅地分离自己。尝试点击 Xcode 中的“停止”按钮而不是点击小红减号来终止应用程序。

为了进一步确认这是否与调试器有关,请尝试通过点击图标而不是在 Xcode 中使用 Build and Run 来第一次运行应用程序。然后通过点击红色 X 将其终止并重新启动。如果它仍然在没有调试器连接的情况下崩溃,则我的假设无效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接