Xcode 4.2 SIGABRT错误

时间:2012-01-05 19:20:20

标签: ios xcode simulator sigabrt

每次我在iPad模拟器上运行我的应用程序时,它都能完美运行。但是,当我在iPhone模拟器上运行它时,当我单击主页按钮时,我在main.m文件中的Xcode中出现错误,说“线程1:程序收到信号:SIGABRT”。它在我的main.m代码中强调了这一行:return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

当我按下iPad模拟器上的主页按钮时,不会发生此问题。我在这里做了很多关于这个错误的研究,但似乎没有什么用处。有谁知道如何解决这个问题?

编辑:这是调试器控制台的更多信息

“无法在引导程序服务器中注册None.TestApplication。错误:未知错误代码。 这通常意味着此进程的另一个实例已在运行或挂起在debugger.sharedlibrary apply-load-rules all 当前语言:auto;目前客观的c (gdb)

5 个答案:

答案 0 :(得分:15)

UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));只表示在程序运行期间抛出异常。这可能包括内存问题和简单的运行时错误。查看目标调试器控制台;它会告诉你错误发生的位置。

由于编辑过的问题而编辑:我之前通过将iOS模拟器恢复为出厂默认设置(左上角打开“iOS模拟器”菜单 - >重置内容和设置)解决了这个问题。然后退出iOS模拟器和Xcode,然后重新启动计算机。这将摆脱该过程的另一个实例。

答案 1 :(得分:5)

我刚遇到同样的问题(实际上浪费了大约2个小时!)。没有异常抛出。最终我偶然发现了这样一个答案。重置并重新启动模拟器和XCode并没有为我清除它,但是重新启动了。

所以,如果你看到这个,并且在回溯中没有关于异常的东西,那么我认为重新启动你的机器可能会解决它。

答案 2 :(得分:3)

我做了以上所有操作,包括重新启动计算机,重置模拟器但没有任何工作,所以我最终必须将所有文件复制到一个单独的文件夹,创建一个新项目并重建我的nib文件,然后从文件中复制并粘贴在我的单独文件夹中进入我的新项目。真的很讨厌。如果没有什么对你们有用而你的应用程序不是太复杂,那么这可能是另一种选择。也许不是最好的,但防水工作。

答案 3 :(得分:3)

我遇到了类似的问题,发现如果我从LLDB调试器切换到GDB(从产品/方案/编辑方案菜单),问题就会消失。值得一试。

答案 4 :(得分:1)

在我的情况下,我在viewDidLayoutSubviews中有一些代码,更新了布局并导致viewDidLayoutSubviews再次被调用进入无限循环。移动此代码解决了此错误。

我认为主线程上的任何无限循环最终都是未捕获的异常。