专栏名称: SuperMario_Nil
追求卓越,成功就会在不经意间追上你~ 掘金: http://t.cn/RHSjLG7 blog: http://www.superma.me gitHub: https://github.com/maligh
今天看啥  ›  专栏  ›  SuperMario_Nil

iOS使用symbolicatecrash解析crash

SuperMario_Nil  · 简书  ·  · 2016-07-19 00:18

文章预览

前言:在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


EOF:有任何问题可以留言交流,方法很简单,但还是记录下预防自己健忘痴呆~

………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览