大家好,欢迎来到IT知识分享网。
android日志系统提供了记录和查看系统调试信息的功能,日志都是从各个软件和一些系统的缓冲区中记录下来的,缓冲区可以通过logcat命令来进行查看和使用
Android 日志系统为日志消息保留了多个循环缓冲区,不是所有的消息都被发送到默认缓冲区,要想查看这些附加的缓冲区,可以使用 -b选项,查看指定的缓冲区,默认使用 【adb logcat】会输出Main及System缓冲区的log信息
adb logcat [-b <buffer>]
buffer可以有如下选项:
Radio 参数可以抓取Android RIL层 ,查看log包含在通信系统的log,如蓝牙、wifi、打印.、网卡、3G、4G 命令:adb logcat -b radio
Events 查看事件相关的消息,比如启动应用,停止文件 事件.
Main 查看主缓冲区、所有Java层的log(默认缓冲区).
System 输出系统组件的log(默认缓冲区).
常见命令如下
adb devices:查看手机连接上adbadb logcat -c:清除日志adb logcat -v time >D:/1234.txt:抓取日志保存到D盘
加参数-v time 可以显示每天记录的详细时间
显示:时间 、进程Id=1164、 线程Id=1181、优先级、标签(tag)=WindowManger : message
1、写下日志时的时间,如:08-11 09:45:35.209
2、优先级:日志的优先级从小到大为
V-Verbose(啰嗦,最低级别,开发调试时的一些详细信息,仅在开发中使用,不可在发布产品中输出)
D-Debug(调试,用于调试的信息,可以在发布产品中关闭,比较常见)
I-information(信息,一般提示性的消息)
W-warning(警告)
E-Error (错误,已经出现可影响运行的错误,比如应用crash时输出的日志)
S(无记载)
3、标签(tag),表明日志发起者和方便日志的过滤筛选,如上图中的SystemServer
4、PID(进程ID),如上图中的1760
5、正文,本日志的主体部分
如果要减少logcat 的输出日志,可以使用如上条件进行过滤、可用多个表达一起限制
过滤表达式的格式为:tag:prority (因为同一个tag可以有不同的优先级) 如:adb logcat ActivityManager:I MyApp:D *:S 备注1:仅用于输出标记为“ActivityManager”且优先级大于等于”I”和标记为“MyApp”,优先级大于等于”Debug”的日志。 备注2:*:S是用于设置ActivityManager:I MyApp:D输出的日志再次过滤 ,标记这些日志的优先级为S(即只输入ActivityManager:I MyApp:D日志,其他的不输出) 备注3:一般都会在过滤后加上*:S以输出符合指令的日志
adb logcat *:W // “*”是指所有的tag, “*:W”是指输出所有的优先级为W以上的所有tag日志信息
可通过包名来过滤日志,
将程序运行在前台,通过命令查看应用包名称:adb shell dumpsys activity activities| findstr “mFocusedActivity“
ANR应用无响应可以查看traces.txt文件
traces.txt文件是一个ANR记录文件,用于开发人员调试,目录位于/data/anr中
使用pull /data/anr/traces.txt D:/traces.txt 命令获取traces.txt到本地桌面
出现多次anr:通过dropbox 查看收集到一段时间内的异常信息(包括ANR)
/data/system/dropbox
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/32231.html