【问题标题】:GenerateDSYMFile: dsymutil fails with exit code 11GenerateDSYMFile:dsymutil 失败,退出代码为 11
【发布时间】:2012-03-22 18:51:06
【问题描述】:

我今天早上从 MacOS X 10.6 (Snow Leopard) 升级到了 10.7 (Lion),还从 Xcode 4.2 升级到了 Xcode 4.3.2。也许更重要的是,这意味着我现在正在针对 iOS 5.1 SDK 而不是 5.0 构建我的项目。那是很多变化,其中一个导致我的项目崩溃:由于以下错误,该项目将不再构建:

Command /Applications/Xcode.app/Contents/Developer/usr/bin/dsymutil
failed with exit code 11

构建结果中给出的完整命令如下(完全披露:我已将项目名称更改为“MyProject”以保护无辜):

GenerateDSYMFile /Users/caleb/xcode-build/MyProject-fmkmldxfmhvmoicxrcsqsptzuvjs/Build/Products/Debug-iphoneos/MyProject.app.dSYM /Users/caleb/xcode-build/MyProject-fmkmldxfmhvmoicxrcsqsptzuvjs/Build/Products/Debug-iphoneos/MyProject.app/MyProject
    cd /Users/caleb/MyProject/iphone
    setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/usr/bin/dsymutil /Users/caleb/xcode-build/MyProject-fmkmldxfmhvmoicxrcsqsptzuvjs/Build/Products/Debug-iphoneos/MyProject.app/MyProject -o /Users/caleb/xcode-build/MyProject-fmkmldxfmhvmoicxrcsqsptzuvjs/Build/Products/Debug-iphoneos/MyProject.app.dSYM

这只发生在我尝试为 iOS 设备构建时;为模拟器构建工作正常。

我进行了大量搜索以找到对此错误的解释,但尚未找到任何解释该错误的内容。我确实找到了one SO question about the same error,在这种情况下是由 Info.plist 文件中的错误标签引起的,但我的 Info.plist 看起来不错。另一个问题建议创建一个新目标并复制所有内容。我还没有尝试过,因为我的项目很大,但它看起来是最好的下一步。

谁能告诉我dsymutil 的“退出代码 11”是什么意思以及如何解决?

更新: 在命令行运行dsymutil 命令显示退出代码 11 是分段错误。不过还是不知道是什么原因造成的。

【问题讨论】:

  • 如果您查看构建结果,您应该能够看到更多信息。如果您将鼠标悬停在有问题的项目上,右侧应该会出现一个图标,您可以单击该图标以查看执行了哪些命令以及它给出了什么输出。
  • @Jim 你是对的——我应该首先包括它。我已将完整命令添加到问题中。
  • 我读过的一些内容似乎表明这可能是Info.plist 问题。但它应该已经解决了这个问题。也许检查你的Info.plist
  • @Caleb 尝试清理项目。
  • @mattjgalloway 非常仔细地查看了 Info.plist,如上述问题中所述。更具体地说,我在 XML 中没有发现任何不正确的标签(这对我上面链接的问题的作者来说是个问题)。

标签: objective-c ios xcode dsymutil


【解决方案1】:

目前对我有用的解决方法是将项目中的调试信息格式设置从“DWARF with dsym”更改为普通的旧“DWARF”。

这至少让我可以为 iOS 设备构建项目并进行调试,所以这是一个非常好的开始。我不确定省略 dsym 会失去什么,所以我会继续寻找。

更新: Apple DTS 建议重新安装 Xcode。我还没有尝试过,但如果有帮助,我会更新这个答案。

【讨论】:

    【解决方案2】:

    对于通过 Google 来到这里的未来用户:

    It happened to me because my working directory was full.

    编辑: 清除磁盘中的一些空间。

    附:如果您迄今为止在同一台机器上开发了这么多应用程序,您可以随时删除此目录中的所有内容。 /Users/<username>/Library/Developer/Xcode/DerivedData

    P.P.S:不要忘记检查目录的大小以使您感到惊讶。删除整个路径最多可能需要 4 个小时,所以请在空闲时间进行,只需删除 2-3 个子目录并继续您的工作。

    【讨论】:

    • 在我的情况下磁盘已满!
    • 我的一台构建机器上的磁盘存储已满也是我遇到的问题。
    【解决方案3】:

    将“iOS 部署目标”从 6.1 更改为 4.0 对我有帮助!

    【讨论】:

      【解决方案4】:

      您是否确定您的项目构建设置、编译器版本设置为系统默认值?

      【讨论】:

      • 我一直在做一些搜索,遗憾的是找不到背后的原因,但是很多人都说创建一个新项目并复制所有内容确实解决了问题。我知道你说过你要尝试这一步,下一步。成功了吗?
      • 显然退出代码 11 是“SIGSEGV - 代码设计因分段错误而崩溃”。一个建议是问题必须是证书损坏的问题,重新应用它们可能会解决问题
      • 感谢您的 cmets。我在同一个项目中创建了一个新目标,但结果是一样的。没错,退出代码 11 是一个分段错误——我最近在尝试在命令行运行相同的 dsymutil 时发现了这一点。不过,仍然不知道是什么原因造成的。
      • 获得赏金。感谢您帮助我找到这个令人沮丧的问题的答案。
      • 我希望我能提供更多帮助>。
      猜你喜欢
      • 2017-01-29
      • 2015-11-17
      • 2017-07-14
      • 2010-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-11
      相关资源
      最近更新 更多