2016-10-15 120 views
5

我正在尝试通过电子邮件从用户那里收到崩溃日志的符号。Symbolicate崩溃日志 - Xcode 8/macOS应用

我在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. 

而且因为它说,崩溃日志我想symbolicate的报告版本是12

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

我的应用程序是一个纯可可应用程序适用于MacOS(前身为OS X,而不是iOS),它是在macOS Sierra上以Xcode 8.0构建的,分布在Mac App Store上并以Swift编写。

同时,Xcode 8.0的组织者成功地标记了通过MAS接收到的相同应用程序版本的崩溃日志。 所以我想,dSYM文件至少是正确的。 但有些事情出错了。

有谁知道我可以如何象征性地纯文本崩溃日志其报告版本是12?

回答

5

最后,我发现如何象征我的crashlog for 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) 
+0

抱歉,你的解释在理论上看起来很简单,但看看[这个崩溃日志](https://pastebin.com/xT6fqQSg)。我在哪里可以找到你在那个混乱中提到的地址?谢谢你的帮助。 – SpaceDog