符号化定位crash

通过Mac自带的命令行工具解析Crash文件需要具备三个文件

1.symbolicatecrash
2.JSShuo.crash ----> 崩溃时产生的Crash文件,XXX.crash。
3.JSShuo.app.dSYM ----> 打包时产生的dSYM文件。

第一步:获取symbolicatecrash工具

打开终端输入以下命令:

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

//路径是:

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

第二步:打包时产生的dSYM文件。

1.打开 Xcode,选择"Window——>Organizer"
2.选择对应版本的 Archive 包,"右键——>Show in Finder"
3.选择对应版本的".xcarchive"文件,"右键——>显示包内容"

注意:
1.如果建立的项目是用于搜集 Apple Watch 或者 App Extension的崩溃,dSYMs 文件夹下会有多个 dSYM 文件,可以根据 dSYM 文件的尾缀来区分符号表:
Apple Watch 的 dSYM 文件尾缀是 “AppName WatchKit Extension.appex”
App Extension 的 dSYM 文件尾缀是“AppExtensionName.appex.dSYM”

2.如果发现这个位置没有 dSYM 文件,说明你的打包配置设置了打包时不生成符号表。可查看Build Settings -> Build Options -> Debug Information Format 的设置,如果选为DWARF则不会产生dSYM文件,必须选择DWARF with dSYM File才会生成符号表文件。

将.Crash、.dSYM、symbolicatecrash三个文件都放在我们在桌面建立的Crash文件夹中。

打开终端,cd到当前文件夹,输入命令

./symbolicatecrash XX.crash XX.app.dSYM > result.crash

可能会报错

Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.

继续在终端输入 改变环境变量

export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer/

再次执行

./symbolicatecrash XX.crash XX.app.dSYM > result.crash

你可能感兴趣的:(IOS学习笔记)