iOS 中崩溃 .crash文件符号化解析(使用Xcode自带工具symbolicatecrash)

想要解析.crash文件,必须需要产生改崩溃日志包的.ipa文件和.app.dSYM文件
当然首先我们需要找到我们的解析工具symbolicatecrash

一 找出symbolicatecrash工具

使用

find /Applications/Xcode.app -name symbolicatecrash -type f

查找的路径中有如下一个路径

/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash

使用Finder(访达)前往文件夹前往该文件夹处,拷贝出symbolicatecrash工具放入一个新建的文件夹中(例如crash)

二 找出.app文件和.app.dSYM文件

打开Xcode->Window->Organizer找到Archives找到App->右击Show in Finder
右击XXXXX.xcarchive文件 显示包内容 可看到如图内容


iOS 中崩溃 .crash文件符号化解析(使用Xcode自带工具symbolicatecrash)_第1张图片
Snip20171221_1.png

在dSYMs文件夹中找到对应的XXX.app.dSYM文件,在Products下的Applications目录下的如图文件


iOS 中崩溃 .crash文件符号化解析(使用Xcode自带工具symbolicatecrash)_第2张图片
Snip20171221_2.png

和.crash 文件一起放入crash目录下
crash目录结构如图
iOS 中崩溃 .crash文件符号化解析(使用Xcode自带工具symbolicatecrash)_第3张图片
Snip20171221_4.png

三 执行symbolicatecrash

首先进入到crash目录结构
执行

./symbolicatecrash XXX.crash XXX.app.dSYM > jieguo.crash
其中XXX为工程的名称 jieguo.crash 为解析后产生的文件

如果报错 Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69. 需要 执行命令

export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"

然后重新 输入命令

./symbolicatecrash XXX.crash XXX.app.dSYM > jieguo.crash

执行完成后如图
iOS 中崩溃 .crash文件符号化解析(使用Xcode自带工具symbolicatecrash)_第4张图片
Snip20171221_5.png

打开jieguo.crash文件,你就可以定位崩溃信息了。

四 注意点

需要注意的事.app.dSYM文件和app文件和.crash文件必须是同一次打包产生的。
验证是否为同一包产生可以根据各文件的uuid是否一致
查看 XXX.app 文件的 UUID,终端中输入命令 (其中XXX为项目名)

dwarfdump --uuid XXX.app/XXX 

查看XXX.app.dSYM 文件的 UUID ,在 终端 中输入命令

dwarfdump --uuid XXX.app.dSYM

查看.crash文件的uuid
打开.crash 查找Binary Images:
如图框内就是该文件的uuid


iOS 中崩溃 .crash文件符号化解析(使用Xcode自带工具symbolicatecrash)_第5张图片
Snip20171221_6.png

你可能感兴趣的:(iOS 中崩溃 .crash文件符号化解析(使用Xcode自带工具symbolicatecrash))