Xcode symbolicatecrash

symbolicatecrash是Xcode自带的一个分析工具,可以通过机器上的崩溃日志和应用的.dSYM文件定位发生崩溃的位置,把crash日志中的一堆地址替换成代码相应位置。

(一)获取崩溃日志
1.从iOS设备中导出崩溃日志.
当一款App软件在iOS设备上崩溃时,一份"crash report"将会自动创建并存储在设备上。
1.1崩溃日志存储的位置
iOS8之前:设置-->通用-->关于本机-->诊断与用量-->诊断与用量数据.
iOS8之后:设置-->隐私-->诊断与用量-->诊断与用量数据.
1.2从设备中导出崩溃日志(iTunes)
mac电脑连接iOS设备,让iTunes备份iOS设备数据,备份完成后崩溃日志存储在mac电脑中(位置:用户/资源库(Library)/Logs/CrashReporter/MobileDevice)。

Xcode symbolicatecrash_第1张图片
图片1.jpeg

2.通过Xcode导出AppStore的崩溃日志.
2.1首先登录Apple账户
Xcode symbolicatecrash_第2张图片
图片2.jpeg

2.2再导出AppStore崩溃日志(Window-->organizer)
位置(用户/资源库(Library)/Developer/Xcode/Products)
Xcode symbolicatecrash_第3张图片
图片3.jpeg

Xcode symbolicatecrash_第4张图片
图片4.jpeg

(二)使用symbolicatecrash转化崩溃日志。
在转化崩溃日志之前需要三个文件:崩溃日志/symbolicatecrash文件/.dSYM文件
1.1获取symbolicatecrash文件
在终端中输入命令:
find /Applications/Xcode.app -name symbolicatecrash -type f.
根据终端返回的路径找到文件。
Xcode symbolicatecrash_第5张图片
图片5.jpeg

3.2获取.dSYM文件(Window-->organizer)
Xcode symbolicatecrash_第6张图片
图片6.jpeg

Xcode symbolicatecrash_第7张图片
图片7.jpeg

下面转化崩溃日志
在桌面建立一个crashReport的文件夹,将崩溃日志,symbolicatecrash文件和.dSYM文件放入文件夹。打开终端进入桌面crashReport文件夹,再在终端依次输入下面命令

export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
./symbolicatecrash ./ .crash ./.app.dSYM > symbol.crash

成功后crashReport文件夹会生成symbol.crash文件,这个文件就是转化后的文件。
转化前:
Xcode symbolicatecrash_第8张图片
图片8.jpeg

转化后:
Xcode symbolicatecrash_第9张图片
图片9.jpeg

注:
1.通过Xcode导出的AppStore崩溃日志其实是一个文件夹,可以通过显示包内容找到崩溃日志。
Xcode symbolicatecrash_第10张图片
图片10.jpeg

Xcode symbolicatecrash_第11张图片
图片11.jpeg

2..dSYM文件要使用上线时打包中的那个.dSYM文件。

你可能感兴趣的:(Xcode symbolicatecrash)