1. 错误分析Android功能说明
1.1 概述
错误分析是友盟为移动开发者提供的Crash收集和分析工具,帮助开发者监测App在移动设备上的运行状况,及时发现并解决错误,提升App的稳定性。
新版错误分析让您能够方便地通过友盟后台管理错误内容:
您可以按照错误类型、应用版本筛选错误; 还可以根据不同的条件为错误添加标签,便于快速分类及查找错误。 同时,您可以通过上传mapping文件来定位到Crash的具体位置。
1.2 详细说明
1.2.1 错误列表页
错误列表中展示的错误摘要的生成规则是,将收集的Crash日志通过一定算法聚合后的错误的堆栈信息的第一行。
每天展示当日发生的错误,且每天至多展示1000条错误类型。当错误类型超过1000条时,当日错误列表中的数据不再更新。次日恢复。
当错误列表中超过1000条时,请在版本管理中取消不关注的版本;版本取消后,当日不再接收该版本的错误,但不会减少当日已接收的错误数。
1.2.1.1 筛选
A1
按照您为错误标记的状态来筛选错误
选择至多3个版本,只展示选中版本的数据
选择错误类型,查看崩溃日志或您自定义的错误信息
通过自定义标签来筛选错误,同时可添加新标签或删除标签
1.2.1.2 标记
(1) 添加标记
选中相应的错误 ,可以为其添加多个标签或标记为已修复/未修复。
A2
为选中的错误添加标签
为选中的错误标记修复状态,便于跟踪错误
(2) 修改或删除标记
如果想修改标签,需进入错误详情页进行修改
1.2.1.3 导出
导出当前页面内的全部错误,或导出该页面内勾选的错误
A3
1.2.1.4 管理版本
(1)查看今日接收的错误数并进行版本管理
今日错误数展示的是今日收到的全部错误数(聚合后的错误类型数);当今日错误类型超过1000个的限制时,此处的数据不再更新。
选择接收错误信息的版本,当某版本取消选中时,该版本的错误信息将不再继续接收。
(2)选择接收错误的版本
该版本今日收到的总错误数
上传该版本的mapping文件
1.2.2 错误详情
错误详情页面展示的是错误详细的stacktrace以及其他相关信息。
1.2.2.1 基本信息
包括错误的首次发生时间、最近一次发生时间、今天发生的次数以及出现的应用版本。
该错误首次发生的时间
该错误最近一次的发生时间
该错误出现的总次数
发生该错误的应用版本
1.2.3 终端概况
终端概况提供了设备,机型和操作系统的联合分布信息,可以点击查看分布详情。
1.2.3.1 错误详情
可以修改错误标签,修改错误状态。
修改错误的标签
修改错误的已修复/未修复状态
mapping文件的上传情况,只有上传了mapping文件才能够显示翻译后的内容
上传mapping文件后,错误会自动翻译:
1.3 FAQ(Android)
Q:错误类型超过1000个的限制该如何处理?
A:每天至多展示1000个错误,当超过1000个的限制后,该日的数据不再更新。次日恢复。
当超过限制后,您可以在版本管理中选择接收错误的版本,对不关注的版本取消选中。取消选中的版本不再接收错误。
选择您关注的版本接收错误,关闭不关注的版本,会降低次日错误超过1000的情况。
Q:通过筛选或管理版本来控制错误的展示或接收,生效时间分别是多久?
A:通过筛选(错误类型、错误状态、版本选择)来控制错误列表中展示的条目,筛选后即时生效; 通过管理版本来控制当日接受错误的总条数,10-20分钟后生效。
2. 错误分析iOS功能说明
2.1 概述
错误分析是友盟为移动开发者提供的Crash收集和分析工具,帮助开发者监测App在移动设备上的运行状况,及时发现并解决错误,提升App的稳定性。
新版错误分析的主要功能点如下:
(1) 通过友盟后台网站管理错误内容。
您可以按照版本、UUID、操作系统、机型筛选错误; 还可以根据不同的条件为错误添加标签,便于快速分类及查找错误。
(2) 通过友盟错误分析工具定位错误。
您可以在友盟后台网站批量导出错误,并借助命令行工具将错误快速定位到具体的代码行数。
2.2 详细说明
2.2.1 错误列表页
错误列表中展示的错误摘要的生成规则是,将收集Crash日志通过一定算法聚合后按照UUID拆分的错误的堆栈信息的第一行。
每天展示当日发生的错误,且每天至多展示1000条错误类型。当错误类型超过1000条时,当日错误列表中的数据不再更新。次日恢复。
当错误列表中超过1000条时,请在版本管理中取消不关注的版本;版本取消后,当日不再接收该版本的错误,但不会减少当日已接收的错误数。
2.2.1.1 筛选
I1
按照您为错误标记的状态来筛选错误
选择至多3个版本,只展示选中版本的数据
通过UUID来搜索错误
通过操作系统或机型来筛选错误
通过自定义标签来筛选错误,同时可添加新标签或删除标签
2.2.1.2 标记
(1) 添加标记
选中相应的错误 ,可以为其添加多个标签或标记为已修复/未修复。
I2
为选中的错误添加标签
为选中的错误标记修复状态,便于跟踪错误
(2) 修改或删除标记
如果想修改标签,需进入错误详情页进行修改
Error3
2.2.1.3 导出
导出当前页面内的全部错误,或导出该页面内勾选的错误
I3
2.2.1.4 管理版本
(1)查看今日接收的错误数并进行版本管理
Error4
今日错误数展示的是今日收到的全部错误数(聚合后的错误类型数);当今日错误类型超过1000个的限制时,此处的数据不再更新。
选择接收错误信息的版本,当某版本取消选中时,该版本的错误信息将不再继续接收。
(2)选择接收错误的版本
Error6
该版本今日收到的总错误数
展开/收起UUID列表
2.2.2 错误详情
错误详情页面展示的是错误详细的stacktrace以及其他相关信息。
2.2.2.1 基本信息
包括错误的首次发生时间、最近一次发生时间、今天发生的次数以及出现的应用版本。
Error7
该错误首次发生的时间
该错误最近一次的发生时间
该错误出现的总次数
发生该错误的应用版本
2.2.2.2 终端概况
终端概况提供了设备,机型和操作系统的联合分布信息,可以点击查看分布详情。
Error8
2.2.2.3 错误详情
可以修改错误标签,修改错误状态。
Error9
修改错误的标签
修改错误的已修复/未修复状态
2.2.3 错误分析工具的使用
第一步 下载错误分析工具 并解压zip得到umcrashtool文件,可将umcrashtool与已下载的xxx.csv文件放入同一目录下。
第二步 在terminal中运行umcrashtool命令,参数为错误分析的.csv文件绝对路径,如下:
sanzhang$ ./umcrashtool [absolutely_path_of_csv_file]
将umcrashtool与错误分析.csv文件放入同一目录下
Error11
第三步 在terminal中运行umcrashtool,提示如下: Usage: umcrashtool [export-file-path],定位后的代码及行数会写入错误分析-symbol.csv文件,与原文件在同一目录下。用工具打开新生成的xxx-symbol.csv文件,便可查看错误发生的源码文件及行数。
注:如果错误分析没有成功,请先确保对应的 xxx.dSYM 文件在 ~/Library/Developer/Xcode/ 或该路径的子目录下。(对于每一个产品发布时archive操作会将dsym文件存放到~/Library/Developer/Xcode/Archives路径下,因此建议保留该路径下的文件,以便后续用工具分析错误。)
Error12
更详细的使用教程见这里。
2.3 FAQ(iOS)
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或友盟开发者社区反馈给我们。