使用symbolicatecrash工具解析析从 iPhone 等设备中获取崩溃日志
-
什么是symbolicatecrash
symbolicatecrash是Xcode自带的一个分析工具,可以通过机器上的崩溃日志和应用的.dSYM文件定位发生崩溃的位置,把crash日志中的一堆地址替换成代码相应位置。
-
为什么要用symbolicatecrash
开发者调试错误只需要有真机,并
且连接到xcode上,就可以跟踪发现错了。
但是如果你的APP不是安装在你自己的真机上,比如你的APP发布到App Store(客户下载后你如何跟踪你的APP在他们的机器上?)这时候就要用到symbolicatecrash。
当一款APP软件在IOS设备上崩溃的时候,一份“crash report”将会自动创建并且存储在设备上。crash report描述了APP崩溃的日志。在大多数情况下,包括对每个线程执行一个完整的堆栈跟踪,查看该日志对于APP崩溃调试非常有用。
-
获取symbolicatecrash方法
find /Applications/Xcode.app -name symbolicatecrash -type f
//终端输入上面命令、得到一个路径,这个路径就是symbolicatecrash的路径
拷贝到和上面文件同一目录
现在目录名一般为:
/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash
- 首先在桌面建立一个新文件夹,把获取到 .crash 文件、.dSYM文件 和 symbolicatecrash 拷贝到新建的文件夹
- 在终端中输入以下命令
cd 文件
./symbolicatecrash ./*.crash ./*.app.dSYM > symbol.crash
// (*.app.dSYM:*代表你的工程名字,*.crash:是指你得到的崩溃日志, *是文件名字)
如果出现Error: "DEVELOPER_DIR" is not defined 再执行下面一句后再次执行
export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"
然后用控制台打开你的symbol.crash文件或者直接在新建的文件找到这个symbol.crash文件, 你就会看到编译后的crash文件, 同Xcode看到的崩溃日志一致。通过查看崩溃日志,可以轻易的找到崩溃原因并修正。
网友评论