【问题标题】:Thread 1: Program received signal SIGABRT error线程1:程序收到信号SIGABRT错误
【发布时间】:2012-01-08 08:30:16
【问题描述】:

安装 XCode 4.2 后,我的旧应用程序无法运行。构建成功,但一旦模拟器尝试运行应用程序,我就会收到错误:

Thread 1: Program received signal SIGABRT

它指向main函数代码中的这一行:

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

日志中没有错误,除了:

(gdb)

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

【问题讨论】:

标签: iphone ios xcode ipad sigabrt


【解决方案1】:

转到构建设置 -> 架构

尝试将有效架构设置为 armv6

我觉得对你有帮助

【讨论】:

  • 有效架构设置为“armv6 armv7”。我尝试将架构更改为 armv6(当前为“标准(armv7)”),但运行应用程序没有成功?还有其他想法吗?谢谢
  • 另外,架构只有一个默认设置“标准 (armv7)”,所以我手动添加了 armv6 和 armv7。这是正确的尝试吗?我应该这样做吗?
【解决方案2】:

不是因为主函数.. 您在 GDB 中检查是否有任何无法识别的选择器或内存泄漏问题..

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

更改此设置后清理并运行您的项目,您将崩溃的原因

【讨论】:

  • 谢谢。我刚刚做完。但是所有输出窗口除了我描述的内容之外没有显示任何新内容:(rdb)。不过很高兴知道这一点。
  • 另外,我只是添加了 return viewDidLoad 以确保没有方法在运行并且与代码无关,错误仍然发生。所以这是目标或设置中的东西。还有什么想法吗?
【解决方案3】:

这可能是this issue 的一个实例。即,您有一个被楔入的模拟器进程,您需要重新启动机器以将其清除。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-11
    相关资源
    最近更新 更多