项目一直用了友盟统计来作为主要的统计工具,之前用过友盟的一些功能,当时觉得并不是很靠谱.今天简单用了一下提供的根据崩溃日志找到项目对应崩溃的代码.结果表明还是有些帮助的,虽然百分之百能定位到位置.
- 先来总结一下坑
1.csv和umcrashtool要在同一目录下
2.如果错误分析没有成功,请先确保对应的 xxx.dSYM 文件在 ~/Library/Developer/Xcode/ 或该路径的子目录下.
3.不要用Excel打开*.csv不然会乱码,用Numbers
错误分析功能说明
** 1.具体功能**
(1) 通过友盟后台网站管理错误内容。您可以按照版本、UUID、操作系统、机型筛选错误; 还可以根据不同的条件为错误添加标签,便于快速分类及查找错误。
(2) 通过友盟错误分析工具定位错误。您可以在友盟后台网站批量导出错误,并借助命令行工具将错误快速定位到具体的代码行数。
** 2.详细说明**
2.1 错误列表页**错误列表中展示的错误摘要的生成规则是,将收集Crash日志通过一定算法聚合后按照UUID拆分的错误的堆栈信息的第一行。每天展示当日发生的错误,且每天至多展示1000条错误类型。当错误类型超过1000条时,当日错误列表中的数据不再更新。次日恢复。当错误列表中超过1000条时,请在版本管理中取消不关注的版本;版本取消后,当日不再接收该版本的错误,但不会减少当日已接收的错误数。
2.1.1 筛选
按照您为错误标记的状态来筛选错误
选择至多3个版本,只展示选中版本的数据
通过UUID来搜索错误
通过操作系统或机型来筛选错误
通过自定义标签来筛选错误,同时可添加新标签或删除标签
2.1.2 标记
(1) 添加标记选中相应的错误 ,可以为其添加多个标签或标记为已修复/未修复。
为选中的错误添加标签
为选中的错误标记修复状态,便于跟踪错误
(2) 修改或删除标记如果想修改标签,需进入错误详情页进行修改
2.1.3 导出
导出当前页面内的全部错误,或导出该页面内勾选的错误
2.1.4 管理版本
(1)查看今日接收的错误数并进行版本管理
今日错误数展示的是今日收到的全部错误数(聚合后的错误类型数);当今日错误类型超过1000个的限制时,此处的数据不再更新。
选择接收错误信息的版本,当某版本取消选中时,该版本的错误信息将不再继续接收。
(2)选择接收错误的版本
该版本今日收到的总错误数
展开/收起UUID列表
2.2 错误详情错误详情页面展示的是错误详细的stacktrace以及其他相关信息。
2.2.1 基本信息包括错误的首次发生时间、最近一次发生时间、今天发生的次数以及出现的应用版本。
该错误首次发生的时间
该错误最近一次的发生时间
该错误出现的总次数
发生该错误的应用版本
2.2.2 终端概况终端概况提供了设备,机型和操作系统的联合分布信息,可以点击查看分布详情。
2.2.3 错误详情可以修改错误标签,修改错误状态。
修改错误的标签
修改错误的已修复/未修复状态
2.3 错误分析工具的使用第一步 **下载错误分析工具
**并解压zip得到umcrashtool文件,可将umcrashtool与已下载的xxx.csv文件放入同一目录下。
这个错误分析工具真的有点叼.是分析错误日记必不可少的.
第二步 在terminal中运行umcrashtool命令,参数为错误分析的.csv文件绝对路径,如下:sanzhang$ ./umcrashtool [absolutely_path_of_csv_file] 将umcrashtool与错误分析.csv文件放入同一目录下
第三步 在terminal中运行umcrashtool,提示如下: Usage: umcrashtool [export-file-path],定位后的代码及行数会写入错误分析-symbol.csv文件,与原文件在同一目录下。用工具打开新生成的xxx-symbol.csv文件,便可查看错误发生的源码文件及行数。
注:如果错误分析没有成功,请先确保对应的 xxx.dSYM 文件在 ~/Library/Developer/Xcode/ 或该路径的子目录下。(对于每一个产品发布时archive操作会将dsym文件存放到~/Library/Developer/Xcode/Archives路径下,因此建议保留该路径下的文件,以便后续用工具分析错误。)
所有的操作都可以通过拖拽完成.然后会自动生成*.csv文件.
- 注意一下用Excel打开可能会有乱码.需要用Numbers打开.