【问题标题】:Symbolicate crash log - Xcode 8 / macOS app符号化崩溃日志 - Xcode 8 / macOS 应用程序
【发布时间】:2016-10-15 07:20:24
【问题描述】:

我正在尝试符号化我通过电子邮件从用户那里收到的崩溃日志。

我在 Xcode.app 中使用了传统的 symbolicatecrash 命令,但是 symbolicatecrash 命令失败并返回以下消息。

$/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash MY_APP.crash MY_APP.app.dSYM > readable.crash
Unsupported crash log version: 12 at /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash line 614.

正如它所说,我想象征的崩溃日志的报告版本是 12。

Date/Time:             2016-10-15 15:40:42.625 +0900
OS Version:            Mac OS X 10.12 (16A323)
Report Version:        12

我的应用程序是一个纯 Cocoa 应用程序适用于 macOS(以前是 OS X,不适用于 iOS),它是在 macOS Sierra 上使用 Xcode 8.0 构建的,在 Mac App 上分发用 Swift 存储和编写。

同时,Xcode 8.0 的管理器成功地符号化了通过 MAS 接收到的相同应用版本的崩溃日志。 所以我想,dSYM 文件至少是正确的。 但是出了点问题。

有谁知道我如何符号化纯文本崩溃日志,它的报告版本是 12?

【问题讨论】:

    标签: xcode macos cocoa symbolicatecrash


    【解决方案1】:

    最后,我找到了如何符号化我的 macOS 应用程序崩溃日志!

    我已经按照下面的要点中的说明获得了人类可读的行。

    How to symbolize OSX crash logs -gist

    因此,简单地说,例如对于这一行:

    0   com.MY_DOMAIN.MY_APP        0x000000010febce85 0x10fdc1000 + 1031813
    

    在终端中运行以下行:

    atos -o MY_APP.app/Contents/MacOS/MY_APP -arch x86_64 -l 0x10fdc1000 0x000000010febce85
    

    然后你会得到可读的行:

    Document.init() -> Document (in MY_APP) (DefaultKey.swift:85)
    

    【讨论】:

    • 对不起,你的解释在理论上看起来很简单,但请看this crash log。我在哪里可以找到你在那个混乱中提到的地址?感谢您的帮助。
    【解决方案2】:

    使用此命令来符号化整个文件。将 MyApp 和 MyCrashFile 替换为适当的值和内存地址 (0x102e27000),如下行:

    Thread 0 Crashed: 0 com.bundle.identifier 0x0000000102f0bfb5 0x102e27000 + 937909

    变成:

    xcrun atos -o MyApp.app/Contents/MacOS/MyApp -arch x86_64 -l 0x102e27000 -f MyCrashFile.crash > c.sym.txt && open c.sym.txt
    

    使用 Xcode 10.3 在 Mojave 上测试

    【讨论】:

      猜你喜欢
      • 2017-08-04
      • 1970-01-01
      • 2014-11-09
      • 1970-01-01
      • 1970-01-01
      • 2012-10-27
      • 2015-12-24
      • 2011-07-24
      • 1970-01-01
      相关资源
      最近更新 更多