首页 文章

Symbolicate崩溃日志 - Xcode 8 / macOS app

提问于
浏览
6

我正在尝试通过电子邮件标记我从用户收到的崩溃日志 .

我在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应用程序 for macOS (以前的OS X,不适用于iOS),它是在macOS Sierra上用 Xcode 8.0 构建的,在Mac App Store上分发并用Swift编写 .

同时,Xcode 8.0的组织者成功地表示通过MAS收到的相同应用程序版本的崩溃日志 . 所以我想,dSYM文件至少是正确的 . 但是出了点问题 .

有谁知道我如何能够象征纯文本崩溃日志,它的报告版本是12?

1 回答

  • 6

    最后,我找到了如何用macOS app来表示我的崩溃日志!

    我遵循了下面的要点中的指令,并获得了人类可读的线条 .

    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)
    

相关问题