分类归档 iOS开发

通过guhuangwudi@gmail.com

iOS使用symbolicatecrash解析crash(转)

前言:在iOS开发中我们经常会有分析.crash文件的需求,这篇文章简单记录一下用symbolicatecrash分析.crash文件的过程

用一张图说明问题,就是拿到crash文件找到了出错位置确不知道对应的代码中什么位置

1.png

前期准备: 1.用解压软件打开你的IPA包,把Payload中的文件复制到crash文件同一目录下。2.将对应.dSYM文件也复制到这个目录。(该文件一般在/Users/name/Library/Developer/Xcode/DerivedData/MyApp-*******/Build/Products) 前提是你必须在打包或build的时候开启了选项

2.png

如果没有.dSYM,恭喜你,你的解析工作已经提前结束啦

要想解析成功还有一个充要条件: .dSYM 文件.crash文件与你的项目包(Payload
下)三者UUID 必须能对应起来. 查看UUID命令

dwarfdump --uuid  Mydsym.app.dSYM

.crash文件中的UUID在下面所示:

1123.png

开始解析: 1.打开你的终端,输入以下命令回车:

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

2.找到你的解析工具symbolicatecrash 所在位置,Xcode7.3.1/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash.
然后按照格式:symbolicatecrash .crash文件 .dSYM文件 >result.log 拼装命令,执行即可获得解析结果result.log
命令示例:

/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash /Download/log/test.crash youApp.dSYM >result.log

解析之后打开result.log你就会看到类似下图,代码中崩溃的位置已经可以看到啦

3.png

作者:SuperMario_Nil
链接:http://www.jianshu.com/p/0732d8e87521
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。