2

我阅读了许多博客和论坛,但无法找到我的问题的答案。所以我正在寻求你的帮助。

我正在使用 Xcode 4.2,我的应用目标设备是 iPad。以下是我为测试 symbolicatecrash 的工作原理所做的步骤:)

我运行产品/存档(发布模式)以获取 ipa 文件并将此文件安装在 iPad 上。还运行 build for Archiving 以获得 *.app 和 *.dSYM 包。在 iPad 上运行应用程序以获取崩溃文件。在这些步骤之后,我将所有 *.crash 和这两个包放在一个文件夹中。symbolicatecrash 运行,但它没有将地址转换为符号:(,我仍然看到崩溃线程上的地址而不是函数名。

我做了以下配置(http://developer.apple.com/tools/xcode/symbolizingcrashdumps.html)

  • 生成调试符号 YES
  • 使用 dSYM 调试信息格式 DWARF
  • 文件部署后处理 YES
  • 剥离链接产品 是 使用
  • 分离条 是
  • 在复制 N 期间去除调试符号

如果我需要做任何其他事情来使它工作,请告诉我。谢谢,

4

1 回答 1

0

您的计算机上是否安装了多个版本的 Xcode?我在 /Developer 中安装了最新版本,而在 /Developer_old 中仍然安装了旧版本。当我使用 -v 标志运行 symbolicatecrash 时,我看到它正在 Developer_old 中寻找资源。

我在文本编辑器中打开了 symbolicatecrash 并修改了 getSymbolDirPaths 函数,在 chomp $foundPath 之后添加了这一行:

$foundPath =~ s/_old//; # don't use the old version we kept installed

当我再次运行 symbolicatecrash 时,它起作用了!

只是一个猜测,但希望这会对某人有所帮助。

于 2011-10-26T19:28:08.100 回答