【问题标题】:Programmatic Symbolication of Crash Logs崩溃日志的编程符号
【发布时间】:2014-09-29 16:15:21
【问题描述】:

我正在尝试符号化我已自动发送到服务器的崩溃日志。我的应用程序崩溃时,我的应用程序的崩溃日志和 dSYM 文件会发送到服务器。我遇到的问题是象征他们。我想以编程方式执行此操作,以便该过程可以自动化。因此,我试图将 symbolicatecrash 终端命令用作 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终端命令来完成吗?

谢谢

【问题讨论】:

  • 检查此链接 - 它可能会有所帮助stackoverflow.com/questions/1460892/…
  • 谢谢!经过进一步的实验,我发现您确实需要 .ipa 文件/ 或归档的应用程序二进制文件来完全象征崩溃日志

标签: xcode crash symbolicatecrash symbolicate dsym


【解决方案1】:

经过进一步的实验,我发现您确实需要 .ipa 文件或归档的应用程序二进制文件来完全符号化崩溃日志。

您不需要在终端命令中包含这些文件;如果您在计算机上的任何地方都有应用程序二进制文件,我在问题中给出的示例就可以工作。该命令将使用 Spotlight 查找应用程序二进制文件,然后返回完全符号化的崩溃日志。

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

【讨论】:

  • 有趣。这似乎与 Crashlytics 回应这个问题时所说的相矛盾:stackoverflow.com/questions/40163455/…
  • @stonedauwg 嗯,很有趣。尽管我已经离开这个问题一段时间了,但我想知道 dSYM 是否是您需要像链接提到的那样进行符号化的唯一组件。出于安全目的,也许手动符号化需要存在其他文件,而 crashlytics 已经找到了一种解决方法。或者现在几年过去了,这个过程也可能已经更新了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-14
  • 2014-11-09
  • 2018-03-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多