【问题标题】:How to symbolicate crash log with Xcode 8?如何用 Xcode 8 符号化崩溃日志?
【发布时间】:2017-08-04 14:41:53
【问题描述】:

我应该从我的设备中获取符号。我按照http://jmillerdev.net/symbolicating-ios-crash-files-xamarin-ios的指示进行操作。

我为 Xcode 8 创建了 alias

别名 symbolicate="/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash -v"

我更新了开发者目录

导出 DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"

然后是象征性的

symbolicate -o "symbolicatedCrash.txt" "MyAppName 2-12-14, 9-44 PM.crash" "MyAppName.app"

但我有一个错误

符号化 myInventories170313.crash ... 阅读时 myInventories170313.crash,没有这样的文件或目录:在 /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash 第 899 行。

【问题讨论】:

  • 尝试为其提供“myInventories170313.crash”的完整路径。

标签: ios symbolicatecrash


【解决方案1】:

尝试使用以下步骤:

1) 创建一个新文件夹,比如说“Universe”,用​​来存放这些东西。

2) 使用 Finder 中的转到文件夹实用程序。使用路径 /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/

找到“symbolicatecrash”文件,您可以手动将此文件复制并粘贴到您的 Universe 文件夹中

3) 将您的应用崩溃和存档放在您的文件夹中(存档将保存所有 dysm 文件。或者您可以放置​​所有 dYsm 文件)

4) CD 到您的“Universe”文件夹目录。现在运行这个命令

导出 DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"

5) 在崩溃时运行符号化命令

./symbolicatecrash myCrash.crash > SymbolicatedM.crash

瞧!!你有你的象征性崩溃日志。

PS:这样做的额外好处是上述设置是一次性设置并且可重复使用。所需要的只是替换您的崩溃文件和dysm文件,然后每次您想要新的崩溃时重复步骤5象征性的。再见复杂的命令!

【讨论】:

  • 应该注意的是,您需要传入一个 dsym,该 dsym 是从崩溃日志所在的同一提交中生成的。您可以使用标志 --dsym=/path/to/dsym 执行此操作
【解决方案2】:
  • 尝试连接设备。
  • 然后选择Xcode->Devices->View logs。
  • 将崩溃日志拖到左侧窗格中,您可以重新符号化右键单击崩溃日志。

【讨论】:

  • 你试过了吗?我确定它可以正常工作,请您重新检查一下
  • 是的,您忘了将dysym 日志添加到Xcode。但是我只能实现部分符号化。
  • 我刚刚连接了设备并从重新符号化的窗口中获取了设备日志。无需其他文件,也无需其他步骤
  • 好的,我应该提一下,我不是该项目的开发人员,也没有代码。我从苹果控制台得到了日志。
  • 就我而言,我必须将文件扩展名更改为 .crash,因为从 App Review 发送的文件以 .txt 作为扩展名
【解决方案3】:

我们在这里遇到了同样的问题,我们通过 Vkharb 和 Enrico 的混合响应解决了这个问题。

  • 在同一个文件夹中,我们包含了 dsym 文件(符号)和正确重命名为whatever.crash 的崩溃报告
  • 然后,打开终端并输入以下命令:
  1. alias symbolicate="/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash -v"

  2. 导出 DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"

  3. 象征whatever.crash > SymbolicatedM.crash

您应该会看到完成最终报告的进度。

【讨论】:

  • 谢谢,但 symbolicated.crash 实际上并没有被符号化,它看起来和未符号化的一样。有什么想法吗?
  • 真的很晚了,但是:出于某种原因,我不得不使用 xcode 管理器中的“下载调试符号”按钮进行相应的构建。在那之前,只有标准库被符号化,在那之后 - 我自己的应用程序也是。 @RajanM 希望对您有所帮助
猜你喜欢
  • 2014-11-09
  • 2015-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多