iOS通过dSYM文件分析crash日志

iOS通过dSYM文件分析crash日志
平常在开发的过程中,遇到到了Crash可以很容易的通过Xcode去定位Crash的位置,但是当我们的App发布以后,遇到闪退就不可以通过Xcode去调试了。当然现在也有很多产品可以在线分析,例如腾讯的bugly与友盟的错误分析。这些分析工具的最基本的地方还是通过dSYM去分析Crash日志,符号化Crash日志。

准备工作
分析崩溃日志需要三个东西:1、crash文件 2、symbolicatecrash文件 3、dYSM文件。我们拿到这个三个文件后,一般新建一个文件夹,把这三个文件放一起。至于crash文件和dYSM文件在哪里找,出门左转,度娘谢谢。

1、如何查找symbolicatecrash文件?

打开终端,输入 find /Applications/Xcode.app -name symbolicatecrash -type f,我用的是Xcode9,返回的结果如下:

如果是iPhone设备,选择红框中的路径,这样就可以找到symbolicatecrash文件

2、检测dYSM文件和crash文件是否对应
从终端进入到刚刚创建的crash文件中,输入dwarfdump --uuid xxx.app.dSYM(xxx是工程名)。如果输出的uuid和crash文件中的一致,则可以解析出正确的crash文件。crash文件中的uuid位于Binary Images中的第一行尖括号内。

3、解析crash文件
在终端中输入./symbolicatecrash crash.crash xxx.app.dSYM >crashLog.text,(xxx是工程名)。这样就可以在你的文件中看到解析后的崩溃文件。

注意,一般情况下,第一次使用symbolicatecrash会产生一个error,如下的错误信息
Error: "DEVELOPER_DIR" is not defined at /usr/local/bin/symbolicatecrash line 53.

解决办法是输入export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer
 

symbolicatecrash位置:

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

找到.app文件和.app.dSYM文件:
在桌面创建一个crash文件夹,然后Xcode->Window->Organizer找到Archives找到App->右击Show in 
Finder

复制.app和.app.dSYM到crash夹文件:右击.xcarchive文件->显示包内容 
在dSYMs文件夹中找到.app.dSYM 
在Products->Applications文件夹中找到*.app

xcode中直接运行的:

/Users/用户名/Library/Developer/Xcode/DerivedData/项目名/Build/Products/Debug-iphonesimulator/项目名.dSYM

如果打包的此文件在/Users/用户名/Library/Developer/Xcode/Archive下面

crash文件获取:

xcode->window->device and simulator->view device logs中找到crash log文件,下载即可以得到。

猜你喜欢

转载自blog.csdn.net/mandagod/article/details/83791131