我想尝试和象征我的iPhone应用程序的崩溃报告。

我从iTunes Connect上找到了崩溃报告。我有提交给App Store的应用程序二进制文件,我有作为构建的一部分生成的dSYM文件。

我将所有这些文件放在一个目录中,该目录以spotlight为索引。

现在该做什么?

我试着引用:

symbolicatecrash crashreport.crash myApp.app.dSYM

它只输出与崩溃报告开始时相同的文本,没有符号。

我做错什么了吗?


当前回答

使用Xcode 4,任务更简单:

开放的组织者, 单击左列的Library | Device Log 点击屏幕底部的“导入”按钮…

瞧。日志文件将自动导入并被符号化。如果你先使用Xcode -> Product -> Archive存档构建。

其他回答

在最新版本的Xcode(3.2.2)中,你可以拖拽任何崩溃报告到Xcode管理器的设备日志部分,它们会自动为你标记。我认为如果你使用Build & Archive(也是Xcode 3.2.2的一部分)构建那个版本的应用程序,这是最好的工作方式

神奇的Xcode Organizer并没有那么神奇地象征我的应用程序。我从苹果那里得到的应用程序提交失败的崩溃报告中没有任何符号。

我尝试使用命令行,将崩溃报告与.app文件(我提交给商店的文件)和.dSYM文件放在同一个文件夹中:

$ symbolicatecrash "My App_date_blahblah-iPhone.crash" "My App.app"

这只为我的应用程序提供了符号,而不是核心基础代码,但它比Organizer提供给我的数字转储要好,足以让我找到并修复应用程序的崩溃。如果有人知道如何扩展这一点,以获得基金会的符号,这将是赞赏的。

只是xcode 6.1.1的一个简单更新的答案。

步骤

xcode 1. >窗口>设备。

2.从设备部分下的设备列表中选择一个设备。

3.选择“查看设备日志”。

4.在All Logs部分下,您可以直接拖放report.crash

5.Xcode会自动为你生成崩溃报告。

6.您可以通过将符号化崩溃报告的日期/时间与崩溃报告中提到的日期/时间匹配来找到符号化崩溃报告。

使用XCode自动生成崩溃报告的步骤:

为xcode 9更新

将任何iOS设备连接到你的Mac(是的,物理设备,是的,我知道这很愚蠢) 从“窗口”菜单中选择“设备” 在左侧单击设备,在右侧单击“查看设备日志” 等待。可能要过一分钟才会出现。也许按Command-A键然后删除可以加快速度。 关键的未记录步骤:将你从iTunesConnect中获得的崩溃报告从.txt扩展名重命名为.crash扩展名 将坠机报告拖到左侧的区域

然后Xcode会将崩溃报告符号化并显示结果。

来源:https://developer.apple.com/library/ios/technotes/tn2151/_index.html

我不得不对symbolicatecrash脚本进行大量的修改,以使其正常运行。

据我所知,symbolicatcrash现在要求.app和.dsym在同一个目录下。它将使用.dsym来定位.app,但不会使用dsym来查找符号。

在尝试这些补丁之前,你应该复制你的符号化崩溃,这将使它看起来在dsym:

getSymbolPathFor_dsymUuid函数的第212行左右

212     my @executablePath = grep { -e && ! -d } glob("$dsymdir" . "/Contents/Resources/DWARF/" . $executable);

matchesUUID函数的第265行左右

265             return 1;