通过XCode可以抓取真机上的Crash Window->DevicesAndSimulator->view device log 往往抓到的crash堆栈都是地址值,对于程序员来再说并没有意义,如何将其解析成方法调用栈?
-
找.dSYM文件:一定要找到版本包的.dSYM文件,否则匹配会有问题。
-
找到symbolicatecrash文件:所在位置可能跟xcode版本有关,我用的是xcode 9.4目在
/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash
其他xcode版本自行百度一下,把symbolicatecrash文件拷贝一份。 -
将.crash 、.dSYM、symbolicatecrash文件拷贝到一个文件夹下。
image.png
-
打开终端cd到当前文件夹下执行
./symbolicatecrash (crash文件地址) (.dSYM文件地址) > log.text
括号范围填写地址值不带括号~。 -
如果报错
Error: “DEVELOPER_DIR” is not defined at ./symbolicatecrash line 69.
则执行export DEVELOPER_DIR=/Applications/XCode.app/Contents/Developer
-
生成完毕如下
image.png
image.png
网友评论