【友盟统计报表解读】之错误分析iOS版

http://bbs.umeng.com/thread-6908-1-1.html

错误分析功能说明
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>


  • 该版本今日收到的总错误数
  • 展开/收起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路径下,因此建议保留该路径下的文件,以便后续用工具分析错误。)

 

 

更详细的使用教程见这里

 

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友盟开发者社区反馈给我们。

 

原文地址:https://www.cnblogs.com/xuejinhui/p/4350536.html