i o s 崩溃日志分析

转自:http://blog.csdn.net/totogo2010/article/details/39892467

要分析崩溃日志,首先需要保留发布时的编译出来的.xcarchive文件。这个文件包含了.DSYM文件。

我一般的做法是,发布成功后,把这个文件.xcarchive直接提交到代码版本库对应的版本分支里,这样就不会搞丢了。

这个文件在哪呢?打开XCode->菜单Window->Organizer,在编译成功的文件上右键,就能打开了。

两种比较麻烦的方法。

第一种方法:

使用dwarfdump命令

dwarfdump --uuid xx.app.dSYM     用来得到app的UUID。
dwarfdump --lookup 0x12b45d -arch armv7 xx.app.dSYM  使错误的日志能看懂,把相应的内存地址对应到正确的地方。
如果一开始dwarfdump命令不能用的话,要先装Command Line Tools,这个在设置里面能下载(cmd+“,”打开设置)。另外还必须在进入.DSYM所在文件夹。

使用dwarfdump需要安装Command Line Tools,XCode里设置下载。而且需要进入.DSYM所在文件夹里进行操作。


第二种方法:

使用xcrun atos命令

atos -o YourApp.app.dSYM/Contents/Resources/DWARF/YourApp 0x00062867

下面重点推荐下这个方法,方便快捷

第三方法:可视化工具

下面这是我的项目里通过友盟统计到的崩溃日志,如果光看这些日志报告的话,是不会知道是哪行代码引起的。

使用方法是把对应版本的.xcarchive文件拖到工具。对比UUID和友盟里日志是否一致,一致就把错误的地址信息拷贝到箭头处。点击分析。

即可得出具体代码崩溃位置。很简单吧。

dSYM 文件分析工具 http://answerhuang.duapp.com/index.php/2014/07/06/dsym_tool/

这是这位博主answer-huang开发了一个工具,专门用来快速定位崩溃日志的代码。感谢这位仁兄的提供这么方便的工具。

工具代码还是开源的:https://github.com/answer-huang/dSYMTools

工具下载地址:http://pan.baidu.com/s/1bnkxPvT

百度网盘的下载地址容易失效,我上传csdn下载里,当然是免积分下载了。

地址:http://download.csdn.net/detail/totogo2010/8012367

原文地址:https://www.cnblogs.com/lihaibo-Leao/p/4398578.html