App测试中traces的抓取和查看
traces的抓取和查看
举例QQ浏览器
当发生ANR(无响应)错误时,除了抓取logcat日志外,还需要获取traces文件。
1、ANR(Application Not Responding)定义
在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择"等待"而让程序继续运行,也可以选择"强制关闭"。所以一个流畅的合理的应用程序中不能出现anr,而让用户每次都要处理这个对话框。因此,在程序里对响应性能的设计很重要,这样系统不会显示ANR给用户。默认情况下,在android中Activity的最长执行时间是5秒,BroadcastReceiver的最长执行时间则是10秒。
2、如何判断发生ANR
操作过程中弹出类似如下的弹框即可判断发生了ANR,这个弹框是Android系统弹出的,主要关注测试对象相关的ANR,与被测对象无关的则可以不用关注。
发生ANR时的logcat日志表现如下,可以搜索ANR关键词
3、获取traces文件
traces文件保存路径: /data/anr/traces.txt 获取traces的两种途径: 方式一:直接导出 手机连接电脑后,通过应用宝或豌豆荚等软件,直接将traces文件导出
第二部分
方式二:adb命令导出
对应adb命令: adb pull /data/anr/traces.txt d:\
可以自定义导出的目录,该命令可以将traces文件导出到d盘,可以到d盘查看
4、traces文件查看
发生ANR时的traces文件日志表现,主要看本进程的main函数,如:QQ浏览器进程名是com.tencent.mtt