崩溃日志的程序化符号化

时间:2014-08-06 16:16:08

标签: xcode crash symbolicatecrash symbolicate dsym

我正在尝试表示我自动发送到服务器的崩溃日志。我的应用崩溃日志和dSYM文件会在我的应用崩溃时发送到服务器。我遇到的问题是象征着他们。我想以编程方式执行此操作,以便可以自动执行该过程。因此,我试图使用symbolicatecrash terminal命令作为python脚本中的子进程。但在我尝试实现之前,我需要让symbolicatecrash正常工作。输入以下命令不成功;

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash -o /Users/aj/Documents/symbolicatedcrash.crash com .COMPANYNAME.TEST_APP.crash TEST_APP.app.dSYM

我使用-o选项将输出写入文件。输入此代码不会返回错误。创建输出文件,崩溃日志没有符号化。

通过研究人们的类似问题,我发现下载.ipa文件并解压缩它可以提供帮助。我这样做了,发现如果.app文件在服务器上,symbolicatecrash命令确实是符号。

我的问题是我不想下载.ipa文件。每次出现新的崩溃(或至少是新版本)时下载它对服务器来说效率低下。我想在每次应用程序崩溃时下载dSYM和崩溃文件。

我的问题最终是:我可以仅使用dSYM文件来表示崩溃日志吗?如果是这样,可以使用symbolicatecrash terminal命令吗?

由于

1 个答案:

答案 0 :(得分:2)

经过进一步的实验,我发现你确实需要.ipa文件或存档的app二进制文件来完全表示崩溃日志。

您不需要在terminal命令中包含这些文件;如果您的计算机上有app二进制文件,我在问题中给出的示例很有效。该命令将使用spotlight查找app二进制文件,然后返回完全符号化的崩溃日志。

注意:重要的是,您的二进制文件/崩溃日志/ dSYM文件都来自同一版本,以便具有完全符号化的日志。