Android软件测试的日记文件抓取简介
1 log文件分类简介
及时打印的首要有:logcat main,logcat radio,logcat events,tcpdump,还有高通平台的还会有QXDM日记
状况信息的有:adb shell cat /proc/kmsg ,adb shell dmesg,adb shell dumpstate,adb shell dumpsys,adb bugreport,工程模式等
2 LOG抓取详解
l 及时打印
adb logcat -b main -v time>app.log 打印应用法度的log
adb logcat -b radio -v time> radio.log 打印射频相干的log,SIM STK也会在里面,modem相干的ATcommand等,当然跟QXDM差的很远了。
adb logcat -b events -v time 打印体系事务的日记,比如触屏事务。。。
tcpdump 是很有效的,对于TCP/IP和谈相干的都可以应用这个来抓,adb shell tcpdump -s 10000 -w /sdcard/capture.pcap,比如抓mms下载的时辰的UA profile,browser上彀的时辰,应用proxy的APN下载,streaming的相干内容包含UA profile等。
最后是高通平台的QXDM,不管是不是Android,只要应用高通芯片,都邑对它很熟悉,当然了,不是高通的芯片就不消提它了。这个不久不多讲,内容雄厚,射频,德律风,上彀,...凡是高通供给的解决规划,这个都可以抓。(QXDM 的LOG抓取办法请参考QPST、QXDM的根蒂根基应用申明及感化)
l 状况信息
o bugreport(号令adb bugreport>bugreport.log)。里面包含有dmesg,dumpstate和dumpsys。
o dumpstate是体系状况信息,里面斗劲全,包含手机当前的内存信息、cpu信息、logcat缓存,kernel缓存等等。
o adb shell dumpsys这个是关于体系service的内容都在这个里面,这个号令还有更详尽的用法,比如adb shell dumpsys meminfo system是查看system这个process的内存信息。
o kmsg抓取
adb shell cat /proc/kmsg > kmsg.txt,打开后查msm_kgsl字段
申明:用于检索用printk生成的内核消息。任何时刻只能有一个具有超等用户权限的过程可以读取这个文件。也可以用体系调用syslog检索这些消息。凡是应用对象dmesg或守护过程klogd检索这些消息。proc是一个内存文件体系, 每次读文件kmsg实际是内核内部的轮回缓冲区,每读过后,轮回缓冲区的器材就被认为已经处理惩罚过了(也就是变成无效内容),所以你再次读为空是很正常的 为什么会如许处理惩罚呢,轮回缓冲区大小有限,内核又随时可能往里面写器材,所以如许处理惩罚很正常. 你去查一下/proc/kmsg的信息有没有跟体系日记接洽关系,若是有的话,你就可以读日记文件
o dmsg抓取
adb shell dmesg > dmesg.txt
申明:dmesg用来显示开机信息,kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可哄骗dmesg来查看。dmesg是kernel的log,凡是跟kernel相干的,比如driver出了题目(相机,蓝牙,usb,启动,等等)开机信息亦保存在/var/log目次中,名称为dmesg的文件里。more /var/log/dmesg
o 工程模式下log的抓取
对于Apollo手机请拨打*#*#8888#*#* ,然后勾选响应的LOG。待测试停止后,经由过程SD卡导出LOG到PC.
3.Log解析:
Get Log Android System
adb bugreport > bugreport.txt
copy bugreport to the current directory.
bugreport里面包含了各类log信息,大项目组log也可以经由过程直接运行相干的法度来直接获得.
步调如下:
1.adb shell 2.进入相干对象程式的目次 3.履行相干程式 4.获得相干信息
下面以输出过程信息为例 1.adb shell 2.输入ps -P 3.可以看到相干过程信息
Log Archive Analysis
1.bugreport
bugreport记录android启动过程的log,以及启动后的体系状况,包含过程列表,内存信息,VM信息等比及.
2.bugreport布局解析
(1)dumpstate
MEMORY INFO
获取该log:读取文件/proc/meminfo
体系内存应用状况
CPU INFO
获取该log:履行/system/bin/top -n 1 -d 1 -m 30 -t
体系CPU应用状况
PROCRANK
获取该log:履行/system/bin/procrank
履行/system/xbin/procrank后输出的成果,查看一些内存应用状况
VIRTUAL MEMORY STATS
获取该log:读取文件/proc/vmstat
虚拟内存分派景象
vmalloc申请的内存则位于vmalloc_start~vmalloc_end之间,与物理地址没有简单的转换关系,固然在逻辑上它们也是连气儿的,然则在物理上它们不请求连气儿。
VMALLOC INFO
获取该log:读取文件/proc/vmallocinfo
虚拟内存分派景象