知方号

知方号

android 日志获取

日志信息:

boot日志,通过串口获取内核日志:通过dmesg 获取系统日志:通过logcat,dumpsys获取APP日志: 通过am命令获取 1.boot日志

boot日志是android 从上电开始的输出,主要通过串口获取。

2.内核日志dmesg

获取方法:命令行

样例:【cat /proc/kmsg】【dmesg -c】

内核日志,主要是内核阶段打印,当需要调试驱动时,可以使用"kernel动态调试[dynamic_debug ]"功能

kernel编译阶段打开 CONFIG_DEBUG_FS=yCONFIG_DYNAMIC_DEBUG=y

 

输入需要调试的文件 adb rootadb remount #重新挂载,否则文件是只读的无法写入adb shellecho -n "file q6adm.c +p" > /sys/kernel/debug/dynamic_debug/control #添加调试文件echo -n "file q6adm.c -p" > /sys/kernel/debug/dynamic_debug/control #关闭调试文件

 

调整kernel打印等级 cat /proc/sys/kernel/printk #查看kernel日志等级7 4 1 7echo 8 4 1 7 > /proc/sys/kernel/printk #更改kernel日志等级

(1)第一个参数 7表示小于7优先级消息才会被输出到控制台。

(2)第二个参数4 表示默认的printk消息优先级别,即printk(“hell world”);优先级为4, 由于4 kernel.log

 

3.系统日志logcat

获取方法:命令行,android studio

样例:

adb logcat -d -v time -b "main" > main.txtadb logcat -d -v time -b "system" > system.txtadb logcat -d -v time -b "events" > events.txt

logcat是andriod系统从kernel启动完成后,Logger系统收集的log,包含framework,app的日志,由于日志较多,推荐使用android studio来分析实时的日志,如果条件不允许,则使用命令行获取日志,再慢慢分析。

logcat Google 详细介绍

3.1 logcat日志分类 logcat日志分类 radio查看包含无线装置/电话相关消息的缓冲区无线/电话相关的Log信息events查看已经过解译的二进制系统事件缓冲区消息。系统事件相关的Log信息main查看主日志缓冲区(默认),不包含系统和崩溃日志消息。大部分应用级别的Log信息都在这里system查看系统日志缓冲区(默认)低级别的系统调试Log信息crash查看崩溃日志缓冲区(默认)。 all查看所有缓冲区。 default报告 main、system 和 crash 缓冲区。  3.2 logcat输出控制 "-v "后的参数 logcat输控制 brief显示优先级、标记以及发出消息的进程的 PID。long显示所有元数据字段,并使用空白行分隔消息。process仅显示 PID。raw显示不包含其他元数据字段的原始日志消息。tag仅显示优先级和标记。thread旧版格式,显示优先级、PID 以及发出消息的线程的 TID。threadtime显示日期、调用时间、优先级、标记、PID 以及发出消息的线程的 TID。time显示日期、调用时间、优先级、标记以及发出消息的进程的 PID。 3.3 logcat日志中的等级标识 等级标识 V详细(最低优先级)D调试I信息W警告E错误F严重错误S静默(最高优先级,绝不会输出任何内容)

 

4.系统日志dumpsys

dumpsys google 详解

获取方式:命令行

样例:adb shell dumpsys [-t timeout] [--help | -l | --skip services | service [arguments] | -c | -h]

dumpsys可以获取系统的服务信息,可以使用dumpsys -l 查看dumpsysy支持查看的服务列表。

例如:

dumpsys input:输入设备(如键盘和触摸屏)的状态以及输入事件的处理 adb shell dumpsys input

 

dumpsys gfxinfo:进行新能测试 adb shell dumpsys gfxinfo package-name framestats

 

dumpsys netstats:设备启动以来收集的网络使用情况统计信息 adb shell dumpsys netstats detail

 

dumpsys procstats:查看内存使用情况

adb shell dumpsys procstats --hours 3#adb shell dumpsys meminfo package_name|pid [-d]adb shell dumpsys meminfo com.google.android.apps.maps -d

 

5.APP日志 5.1 am dumpheap

Android am 命令使用

获取方法:命令[adb shell am dumpheap [参数] ]

样例:

adb shell am dumpheap com.android.browser /data/local/tmp/test.hprof#获取内存快照(后缀名必需为.hprof)adb pull /data/local/tmp/test.hprof ./test.hprof

PC端使用命令:hprof-conv e: est.hprof e: est1.hprof进行文件转化,使用mat工具对内存进行查看分析。

6.日志工具 6.1 工具Traceview

Traceview是android平台配备一个很好的性能分析的工具。它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到method。

6.2 bugreport

google官方分析工具,后期补充

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。