iOS symbolicatecrash工具crash日志分析

工做了就懒了,很久没写博客了。其实最近也解决了很多能够记录的问题,只是太懒了。。。之后慢慢补上吧。xcode

今天记录一下iOS里面如何分析crash日志,由于在公司app打包给测试人员测试以后,常常会有crash,以前一直也没去管那种偶然的crash,最近项目快结束了,偶然的crash也得解决,昨天花了点时间算是把这个研究了一下。app

1.crash分析须要准备的文件:函数

1>crash日志 工具

2>dSYM文件测试

3>app文件spa

4>symbolicatecrash工具调试

 

2.iOScrash日志获取的方法:日志

1>若是是本身真机测试的时候出现crash的话,能够打开xcode->Window->Devices 点击你的设备,export出crash日志。code

2>若是是须要测试人员收集的日志的话,能够经过iTools工具获取,也很简单。这种方法获取的是.ips文件,改为.crash就好了。ip

其他的获取方法我尚未使用过。。之后补上。

 

3.dSYM文件和app文件:(网上转)Xcode编译项目后,咱们会看到一个同名的 dSYM 文件,dSYM 是保存 16 进制函数地址映射信息的中转文件,咱们调试的 symbols 都会包含在这个文件中,而且每次编译项目的时候都会生成一个新的 dSYM 文件,位于 /Users/<用户名>/Library/Developer/Xcode/Archives 目录下,对于每个发布版本咱们都颇有必要保存对应的 Archives 文件 ( AUTOMATICALLY SAVE THE DSYM FILES 这篇文章介绍了经过脚本每次编译后都自动保存 dSYM 文件)。

我开始没找到dSYM文件和app文件。。后来我发现只要在工程中,products文件夹右键Show In Finder就能够了。把这个两个文件复制保存到一个新建的文件夹在桌面或者比较方便的地方,crash log和symbolicatecrash也要一块儿放入这个文件夹。要注意的是dSYM文件每次发布一个版本都要复制出来,由于要和crash log一一对应。

4.symbolicatecrash工具:

symbolicatecrash查找: mac上在终端输入: find /Applications/Xcode.app -name symbolicatecrash 等一会就能够查找到,个人是/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash。

将symbolicatecrash工具也复制到上面文件存放的文件夹。

5.开始分析:

  打开终端cd进入存放上述文件的文件夹 ,输入命令:

  ./symbolicatecrash crashlog.crash MyCrash.app.dSYM > 20151209_01.crash

其中crashlog就是存入文件夹的crash log的名称,MyCrash是app名称,20151209_01是解析出来的可读的crash文件,会自动生成。

再输完上面的命令后可能会报错:“Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 53.”

若是出现错误,再输入:export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"

接着再输入一次  ./symbolicatecrash crashlog.crash MyCrash.app.dSYM > 20151209_01.crash 这个命令应该就能够了。

 

6.分析完成后,生成的新的20151209_01.crash文件就是咱们能够阅读的了。

好的,先介绍这些了,具体的步骤截图有时间再上。

相关文章
相关标签/搜索