Xcode 如何找到 dSYM 以匹配崩溃文件?

Posted

技术标签:

【中文标题】Xcode 如何找到 dSYM 以匹配崩溃文件?【英文标题】:How does Xcode find the dSYM to match a crash file? 【发布时间】:2016-03-18 19:12:37 【问题描述】:

我从客户那里收到一个 .crash 文件,需要将其链接到正确的 dSYM 文件。此产品/版本的存档是由另一个开发人员使用 Xcode 构建的,并且 .xcarchive 文件放入 git 以备不时之需(就像今天一样)。

阅读 Analyzing Crash Reports 和 Understanding and Analyzing ios Application Crash Reports 后,不清楚这是如何工作的。

我做了以下事情:

打开“设备”窗口,“查看设备日志”按钮 将 .crash 文件拖到列表中(我们将崩溃日志从不同的设备/用户拖到我们的设备上 - 这似乎是错误的,但 AFAIK 是需要做的) 在 Organizer/Archives 中,所需版本的存档不在我的列表中。它是在另一台计算机上构建的,我还没有做任何事情将它带到我的环境中 最初,当我查看崩溃文件时,它只有十六进制代码 右键单击并“重新符号化”我之前添加的崩溃日志 Xcode 现在似乎以某种方式知道了我的存档。我现在看到了方法和行号信息,但是...

我不相信这是有效的,并且可能与错误的事情有关。

问:Xcode 如何知道我的 xcarchive 文件包含崩溃文件版本的 dSYM? (我希望它必须在 Organizer/Archives 列表中,但不是)

问:有没有更好的方法来导入 .crash 文件? (我希望能够将它拖到 Organizer/Crashes 中,但显然不是)

【问题讨论】:

【参考方案1】:

我不能 100% 确定,但我认为 Xcode 使用 Spotlight 来查找正确的 dsym 文件,因此它在磁盘上的位置并不重要。

我认为它运行这个命令:

mdfind "com_apple_xcode_dsym_uuids == <UUID>"

您也可以运行它来列出 Xcode 目前可以找到的所有 dsym 文件:

mdfind "com_apple_xcode_dsym_uuids == *"

(取自this answer)

【讨论】:

谢谢 - 这似乎确实可以找到我想知道的 dSYM 文件。我很惊讶这不是更明确,但我想它就是这样。

以上是关于Xcode 如何找到 dSYM 以匹配崩溃文件?的主要内容,如果未能解决你的问题,请参考以下文章

Xcode - UUID 与框架 dSYM 不匹配

Xcode 显然不会创建应用程序的 dSYM 文件

没有dsym分析iOS崩溃日志

没有dsym分析iOS崩溃日志

iOS 技术篇: 如何利用dsym文件分析苹果被拒日志

如何在 xCode 中使用来自 Apple 的崩溃报告?