我使用Xcode 4.2
,我有90%的时间收到此消息:
@autoreleasepool
{
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
线程1:编程接收信号“SIGABRT”
当它工作并退出iOS Simulator
时,我得到:
线程!:程序接收信号SIGTERM
现在所有程序(甚至简单的单音按钮教程)都在我退出Simulator
之前完美无缺SIGTERM
我得到SIGABRT
当我再次尝试再跑时,我得到{{1}}。
我正在变得偏执狂.ddddddddddd。
错误:未知错误代码。 这通常意味着此进程的另一个实例已在运行或挂起在debugger.sharedlibrary apply-load-rules all 当前语言:auto;目前客观的c (gdb)
我应该做什么?
答案 0 :(得分:6)
你尝试的一些事情在过去(按此顺序)帮助了我:
我注意到,当您使用相同的名称制作多个项目时,派生数据会导致最多的问题,无论是故意的还是偶然的。
编辑:更多细节..
我获得SIGTERM的唯一一次是当您在“设备”上运行测试然后在xCode中停止之前从设备退出应用程序,然后尝试在设备上再次启动它。如果它更像是一个SIGABRT问题,我总是检查我的IBOutlets。每次删除插座的代码时都会发生SIGABRT,但不要删除IB中的连接。 [xcode 4.2.1]
答案 1 :(得分:1)
之前的应用程序仍然在模拟器中“卡住”。尝试完全退出模拟器,清理项目,然后再次尝试构建。
编辑:完全重启你的mac听起来像下一步。根据我的经验,这个错误总是与模拟器的问题有关,而不是代码本身。
答案 2 :(得分:0)
SIGABRT
表示您的程序正在抛出异常。如果您没有显式设置断点以在抛出异常时触发,那么Xcode会在main
中显示SIGABRT,这对调试没用。
您需要add an exception breakpoint,以便查看抛出异常的位置。