2011-11-28 97 views
0

安装XCode 4.2后,我的旧应用程序无法运行。构建成功,但一旦模拟器尝试运行的应用程序,我得到一个错误:线程1:编程接收到的信号SIGABRT错误

Thread 1: Program received signal SIGABRT 

它指向这条线在主函数代码:

int retVal = UIApplicationMain(argc, argv, nil, nil); 

其他日志比没有错误:

(gdb) 

这是否与iOS 5中的autoreleasepool有关?在哪里寻找错误?我怀疑这是一个代码相关的问题,因为我只是在旧的Xcode中运行这个应用程序。这是一款iPad应用程序。

+0

尝试[创建异常断点](http://stackoverflow.com/questions/4961770/run-stop-on-objective-c-exception-in-xcode-4)。 –

回答

0

去盖设置 - >架构

尝试设置有效的架构用于ARMv6

我认为这将帮助你

+0

有效的体系结构设置为“armv6 armv7”。我尝试将架构更改为armv6(目前为“Standard(armv7)”),但运行该应用程序没有成功?任何其他想法?谢谢 – Vad

+0

此外,体系结构只有一个默认设置'标准(armv7)',所以我手动添加了armv6和armv7。这是正确的尝试?我应该以不同的方式做吗? – Vad

0

不是主要的功能,因为它的.. 你在GDB检查是否有任何无法识别的选择器或内存泄漏问题..

转到xcode的产品按钮 - >编辑方案 - >选择运行(左手边表的第二个单元格) - >选择诊断 - >启用僵尸对象....

更改此设置的清洁和运行您的项目后,您会崩溃

+0

谢谢。我刚刚做完。但是,除了我所描述的内容外,所有输出窗口都不显示任何新内容:(rdb)。很高兴知道这一点,但。 – Vad

+0

此外,我只是添加返回到viewDidLoad以确保没有方法正在运行,它不是代码相关,错误仍然发生。所以这是目标或设置内的东西。还有什么想法? – Vad

0

这的原因可能是this issue一个实例。也就是说,你有一个楔入的模拟器进程,你需要重新启动你的机器清除它。