错误分析功能说明 1.概述
错误分析是友盟为移动开发者提供的Crash收集和分析工具,帮助开发者监测App在移动设备上的运行状况,及时发现并解决错误,提升App的稳定性。
新版错误分析的主要功能点如下: (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)查看今日接收的错误数并进行版本管理
<ignore_js_op> 
- 今日错误数展示的是今日收到的全部错误数(聚合后的错误类型数);当今日错误类型超过1000个的限制时,此处的数据不再更新。
- 选择接收错误信息的版本,当某版本取消选中时,该版本的错误信息将不再继续接收。
(2)选择接收错误的版本
<ignore_js_op> 
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路径下,因此建议保留该路径下的文件,以便后续用工具分析错误。)

更详细的使用教程见这里。
3. FAQ
Q:错误类型超过1000个的限制该如何处理? A:每天至多展示1000个错误,当超过1000个的限制后,该日的数据不再更新。次日恢复。 当超过限制后,您可以在版本管理中选择接收错误的版本/UUID,对不关注的版本/UUID取消选中。取消选中的版本/UUID不再接收错误。 选择您关注的版本/UUID接收错误,关闭不关注的版本,会降低次日错误超过1000的情况。
Q:为什么有些错误无法通过友盟提供的工具定位 ? A:因为您使用的SDK版本过低。 必须使用v2.1.3以后的SDK才能正确的定位Crash log。
Q:使用umcrashtool为什么没有正确的翻译出错误 ? A:您需要确保dSYM文件存放在/Users/xx/Library/Developer/Xcode/或者它的子目录下,路径中不要出现空字符。
Q:为什么生成的csv文件打开有乱码? A:csv文件我们使用的UTF8编码格式,需要选用相应的格式打开,在Mac平台可以用系统自带的Numbers或免费软件LibreOffice打开。目前的Microsoft Office for Mac 打开会有乱码的问题。
Q:使用umcrashtool为什么没有正确的翻译出错误? A:首先请确保dSYM文件存放在 ~/Library/Developer/Xcode/或者它的子目录下。另外, 目前的错误捕捉工具针对一些系统信号导致的崩溃信息,存在无法解析的情况,最后可能是dsym文件提供的信息量不够,导致部分解析失败。我们的技术人员一直在努力提高能够捕获和分析的崩溃的类型,如果您在这方面有建议,也可以通过邮件support@umeng.com或友盟开发者社区反馈给我们。
|