我在模拟器上测试我的应用程序时,它在点击UIAlertView的一个按钮时崩溃了。我在那里停止调试,对代码做了一些更改,并重新构建应用程序。现在,当我运行应用程序时,我在控制台中得到这个错误
无法向引导服务器注册com.myApp.debug。Error:未知错误码。
这通常意味着该进程的另一个实例已经在运行或挂起在调试器中。程序接收信号:“SIGABRT”。
我尝试从模拟器中删除应用程序,做一个干净的构建,但当我尝试运行应用程序时,我仍然得到这个错误。
我应该怎么做才能再次在模拟器上运行应用程序?
我发现我已经开始有这个问题的Lion + Xcode 4.2。我在Xcode 4.3中也遇到过这个问题。
我已经尝试了所有的建议,但没有一个是有效的,除了一个完全重启。
以下是判断是否需要快速重启的方法。
列出你所有的僵尸进程:
ps -el | grep 'Z'
如果你看到你的应用程序被列为僵尸进程,你需要重新启动你的机器。错误消息表示“这通常意味着此进程的另一个实例已经在运行或挂起在调试器中”。Xcode会检测这个你无法杀死的僵尸进程。解决这个问题的唯一方法就是重新启动系统。:(
编辑,20120823:我对僵尸进程有更好的了解,所以我想更新这个答案。当父进程没有在正在终止的子进程上调用wait()(等待进程改变状态)时,就会创建僵尸进程。你不能直接在僵尸进程上运行“kill”,但是如果你杀死了父进程,僵尸子进程将被“收割”并从进程表中删除。
我很久没有看到这个问题了,所以还没有检查这个场景中的父进程是什么。杀死父进程的替代方法是重新启动系统。:)