iOS崩溃日志符号化-审核时苹果返回的.crash文件

通过我们得到的.crash文件,通过symbolicatecrash工具可以转化成定位项目crash的原因,这种转化方式也叫符号化,直接上我的解决办法,有更好的,或者我的地方有错误的欢迎指正,有问题可以留言,或者加我QQ :838090008 备注哦~~~

1.首先找到你项目打包对应版本的xcarchive文件,右键显示包文件,找到dSYMs文件下的**.app.dSYM文件,和application文件夹中的图1.1中的文件

1.1

2.讲第一步的**.app.dSYM文件和.app文件放入桌面新建的crash文件中(你可以叫任何名字),接下来是导入symbolicatecrash工具到crash文件中的命令

-----1)打开终端输入以下命令:

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

你会找到:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/./symbolicatecrash

-----2)用命令将symbolicatecrash拷贝到桌面的crash文件夹里面,与.app和.app.dSYM放一起

cp  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash /Users/angel/Desktop/crash

-----3)再导入你的.crash文件,这样一共有四个文件了


iOS崩溃日志符号化-审核时苹果返回的.crash文件_第1张图片
1.2


3.命令行解析

1.打开终端用命令切换到桌面的crash目录下:

cd /Users/你的电脑名称/Desktop/crash

2.执行命令

./symbolicatecrash /Users/你的电脑名称/Desktop/crash/你的crash文件名字.crash /Users/你的电脑名称/Desktop/crash/你对应的名字.app.dSYM > 解析结果.crash

如果终端报错Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.

那么执行  export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"

继续2的命令即可

3.执行dwarfdump --lookup 0x000cf358 --arch arm-64 appname.app.dSYM/

0x000cf358这个串在上一命令得到的(解析结果.crash)文件中,搜索Thread 0 name:  Dispatch queue: com.apple.main-thread这个串会比较快的找到所需要的0x000cf358,如图1.3;

arm-64这个格式在.crash文件的最上面,如图1.4


iOS崩溃日志符号化-审核时苹果返回的.crash文件_第2张图片
1.3


iOS崩溃日志符号化-审核时苹果返回的.crash文件_第3张图片
1.4

终端输入结果如下:


iOS崩溃日志符号化-审核时苹果返回的.crash文件_第4张图片

crash的问题看下面的输出


剩下的就自己定位喽

你可能感兴趣的:(iOS崩溃日志符号化-审核时苹果返回的.crash文件)