XCode 4.6管理器不会表示我的应用程序崩溃堆栈跟踪

时间:2013-03-09 09:21:23

标签: ios xcode crash organizer symbolicate

我已经有一段时间了,因为我在XCode中使用了symbolicate,它曾经工作过。今天我试过这个......

  1. 归档我的应用。
  2. 从XCode在我的设备上安装应用程序。 (只需连接设备并在发布模式下运行应用程序)。
  3. 停止了Xcode的应用。
  4. 在我的设备(连接到Mac)上运行应用程序,这当然会崩溃。
  5. 现在,当我打开Organizer并转到设备日志时,它会显示一个新的崩溃日志文件。
  6. 但它无法象征我的应用程序的符号。所有Apple库的东西都是象征性的。
  7. 我在网上搜索,似乎没什么用。

    编辑:在构建设置中,如果我禁用“复制期间剥离调试符号”,即使是发布版本,一切正常。但是Xcode应该能够使用dSYM文件进行符号化。我不想用调试符号分发应用程序。

    提前致谢。

4 个答案:

答案 0 :(得分:4)

本文将帮助您找到问题所在:http://support.hockeyapp.net/kb/how-tos-faq/how-to-solve-symbolication-problems

由于您说run in release mode,因此设备上运行的版本您归档的版本!因此,如果DerivedData目录中已有可用的发布版本,则需要这样做。否则,它将创建一个新的构建并安装该构建。

现在,符号化无效的可能性有两种:

  1. 您之后正在进行另一个版本构建,因此之前的版本和dSYM会被覆盖(请参阅上面链接中的说明)
  2. Spotlight找不到崩溃报告中写入的UUID的dSYM和app二进制文件(请参阅上面链接中的说明以验证)
  3. 更新:关于剥离符号的注意事项:当您不删除编辑后的帖子中提到的符号时,符号化已在设备上完成。但是你当然会错过行号。

答案 1 :(得分:0)

在上面的解决方案中按照Kerni给出的链接后,我发现聚光灯无法使用崩溃日志文件的UUID找到dSYM文件。

运行以下命令......

mdimport。

...在产品文件夹(MyApp1.app和myApp.app.dSYM所在的文件夹)中问题得到了解决。

我不确定为什么每次构建我的应用程序时都必须运行它,我的mac由于某种原因没有自动执行。但它确实有效。

答案 2 :(得分:0)

我已经在带有空格的目录上安装了Xcode。 我通过删除目录的空格并运行xcode-select来修复它。 (mdimport没有为我工作)

    sudo xcode-select -switch <myxcodedir>

答案 3 :(得分:0)

我遇到了同样的问题。

在 Xcode 的项目 Build Settings 中,在 DEBUG_INFORMATION_FORMAT 下,为调试配置设置 DWARF with dSYM File。 Xcode 默认为 DWARF