专栏首页APP测试嘘,我已经瞒着开发解锁APP日志文件抓取及分析啦!

嘘,我已经瞒着开发解锁APP日志文件抓取及分析啦!

APP日志查看工具

(一)DDMS

Dalvik Debug Monitor Service ( Dalvik调试监控服务) ,可视化的图形界面调试监控工具。不同等级log信息显示的颜色不同,使用起来方便直观。ddms监控系统或应用日志、监控线程状态、VM使用状况(内存泄漏通过它来判断)、模拟短信电话事件、生成logcat日志、文件管理及截屏等功能。

打开方式:

(前提:已增加JAVA环境变量及androidsdk环境变量)

1.双击\android-sdk windows\tools (部分可能在platform-tools )目录下ddms.bat直接启动;

2.在eclipse右上角添加工具图标中,点击ddms;

使用方法:

1.接入设备, ddms设备列表中会识别到该设备(如果没有识别,可尝试结束任务管理器中所有adb相关的进程,并重置ddms的adb );

2.设备列表中选中需要抓取的设备名称, logcat区会显示该设备的相关日志信息,默认显示verbose;

3.选择日志信息等级为error ,若程序崩溃,抓取error等级下与所测应用相关的日志即可;

使用示例:

(二)LOGCAT

命令行工具,输出命令行的日志信息。

打开方式:

(前提:已增加JAVA环境变量及android sdk环境变量)

进入cmd ,进入命令行后输入adb logcat;

使用方法:

1.接入设备,且adb devices中有设备信息;

2.输入adb logcat ,即可打印设备相关的日志信息,默认打印verbose,若只是想抓取程序崩溃的相关日志信息,可输入adb logcat *:E ,选择与所测应用相关的日志即可;

使用示例:

(三)Monkey中断日志

Monkey运行时,遇到异常并报错时,产生的命令行日志信息。

打开方式:

打开cmd ,进入命令行后输入adb shell ,进入shell命令行后输入monkey -p com.xxx.xxx -V 1000

使用方法:

1.接入设备,且adb devices中有设备信息;

2.打开cmd,输入monkey -p com.xx.xxx -v 1000 ,当monkey异常中断(即应用程序崩溃或接收到异常、应用程序产生应用程序不响应( ANR )异常两种异常)后;

3.查看异常日志是否与所测的APP相关,如相关则保存异常输入的日志信息即可;

使用示例:

LOG文件分类

实时打印的主要有:logcat main,logcat radio,logcat events,tcpdump等。

状态信息的有:adb shell cat /proc/kmsg ,adb shell dmesg,adb shell dumpstate,adb shell dumpsys,adb bugreport等。

LOG文件抓取详解

一、实时打印

//打印应用程序的log

adb logcat -b main -v time>app.log

//打印射频相关的log

adb logcat -b radio -v time> radio.log

//打印系统事件的日志,比如触屏事件

adb logcat -b events -v time

//android log的抓取

adb logcat

//kernel log的抓取

adb shell cat /proc/kmsg

//log 信息的保存

mkdir /data/anr

logcat *:V > /data/anr/android

demsg >/data/anr/kernel

//按ctrl+c结束log输出

adb pull /data/anr ./log/

tcpdump 是很有用的,对于TCP/IP协议相关的都可以使用这个来抓,adb shell tcpdump -s 10000 -w /sdcard/capture.pcap。

二、状态信息

1.bugreport(adb bugreport>bugreport.log),里面包含有dmesg,dumpstate和dumpsys。

2.dumpstate是系统状态信息,里面比较全,包括手机当前的内存信息、cpu信息、logcat缓存,kernel缓存等等。

3.adb shell dumpsys这个是关于系统service的内容,这个命令还有更详尽的用法,比如adb shell dumpsys meminfo system是查看system这个process的内存信息。

4.kmsg抓取

adb shell cat /proc/kmsg > kmsg.txt,打开后查msm_kgsl字段

说明:用于检索用printk生成的内核消息,任何时刻只能有一个具有超级用户权限的进程可以读取这个文件。

5.dmsg抓取

adb shell dmesg > dmesg.txt

说明:dmesg用来显示开机信息,kernel会将开机信息存储在ring buffer中。若是开机时来不及查看信息,可利用dmesg来查看。dmesg是kernel的log,凡是跟kernel相关的,比如driver出了问题(相机,蓝牙,usb,启动,等等)开机信息亦保存在/var/log目录中,名称为dmesg的文件里,more /var/log/dmesg。

6.工程模式下log的抓取

对于Apollo手机请拨打*#*#8888#*#* ,然后勾选相应的LOG。待测试结束后,通过SD卡导出LOG到PC。

三、Log分析:

Get Log from Android System

adb bugreport > bugreport.txt

copy bugreport to the current directory.

bugreport里面包含了各种log信息,大部分log也可以通过直接运行相关的程序来直接获得.

获取该log:读取文件/proc/wakelocks

内核对一些程式和服务唤醒和休眠的一些记录:

KERNEL CPUFREQ

(Linux kernel CPUfreq subsystem) Clock scaling allows you to change the

clock speed of the CPUs on the fly.

This is a nice method to save battery power, because the lower the

clock speed is, the less power the CPU consumes.

PROCESSES

面试题分享

作为测试怎么在app发生异常的时候提交有效信息:

1、描述复现场景(复现步骤、复现现象)

2、发生异常截图

3、日志文件

(1)如果发生了崩溃(crash):

adb logcat -v time >本地文件中

直接拉取dropbox目录中的data_app_crash开头的文件

(2)如果发生的无响应(ANR):

发生单次ANR:

adb logcat -v time 获取logcat,拉取/data/anr/traces.txt

发生多次ANR:

拉取dropbox目录中的data_app_anr开头的文件

跑monkey压力稳定性测试,记得清空dropbox里面的相关的异常文件信息哦

本文分享自微信公众号 - ITester软件测试小栈(ITestingA),作者:ITester小锦鲤

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 速看,APP测试之ADB最全指南!

    ADB全称Android Debug Bridge, 是android sdk里的一个工具,目的是起到调试桥的作用,用这个工具可以直接操作管理android模拟...

    ITester软件测试小栈
  • APP测试之使用ADB可能遇到的错误及解决办法

    %ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;

    ITester软件测试小栈
  • APP自动化测试系列之adb连接真机和模拟器

    点击上方蓝字“ITester软件测试小栈“关注我,每周一、三、五早上 08:30准时推送,每月不定期赠送技术书籍。

    ITester软件测试小栈
  • Working中常用ADB

    adb logcat -s blink或adb shell "getprop sys.btauthorised"

    用户6367961
  • ADB常用命令及作用

    ADB全称Android Debug Bridge。 ADB是一种功能多样的命令行工具,起到了调试桥的作用,可以用来操作Android设备。 ADB是And...

    Demo_Yang
  • Ui Automator 框架和Ui Automator Viewer你会用吗?附送「必备adb命令」拿走不谢 !

    前 3 篇文章给大家讲解了 Appium 环境安装,Appium 理念以及实现方式(四大点),第一个 app 自动化脚本。

    清菡
  • 安卓ADB进不去的几种情况!

    可能大家有些童鞋是学习有关安卓的,所以关于安卓adb的调试是缺少不了的。这里号主把自己遇到的几种adb进不去的情况及处理办法分享一下。

    FreeRonin
  • win7安装adb

    一、安装adb(下载资源http://download.csdn.net/detail/hanbo622/7558535)

    梦_之_旅
  • android系统调试工具adb命令

    设备的状态有 3 钟,device , offline , unknown device:设备正常连接 offline:连接出现异常,设备无响应 unkn...

    李小白是一只喵
  • adb 常用命令总结

    流柯

扫码关注云+社区

领取腾讯云代金券