iOS 中崩溃 .crash文件符号化解析(使用Xcode自带工
2017-12-21 本文已影响0人
回忆式_想念
想要解析.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文件 显示包内容 可看到如图内容
Snip20171221_1.png
在dSYMs文件夹中找到对应的XXX.app.dSYM文件,在Products下的Applications目录下的如图文件
Snip20171221_2.png
和.crash 文件一起放入crash目录下
crash目录结构如图
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
执行完成后如图
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
Snip20171221_6.png