日志种类、日志命令、日志关键字
发布日期:2022-07-08 02:55:55
浏览次数:25
分类:技术文章
本文共 2879 字,大约阅读时间需要 9 分钟。
日志命令
Log信息获取
一般需要抓取logcat或者bugreport及对应的trace文件;
-
logcat获取
-
adb logcat > xxx.logadb logcat -b [main/system/event/radio...] > xxx.log默认adb logcat获取的是main log;
-
通过在mainlog或者bugreport中搜索关键字am_anr,ANR in可以得到ANR发生的时间、对应的进程、原因描述等、CPU占用和iowait时间,有时也需要确定内存情况,可以通过在bugreport中查找mem info信息获取到;
-
-
bugreport获取
-
adb bugreport该命令执行完成,会出现一个进度条,耐心等待到100%即可; 有时候会由于adb版本较低,上述命令不能正常执行,可以执行如下命令,也可以得到所需文件; adb bugreport > bugreport.txtbugreport包含main、system、event、kernel**log**信息,还有设备的一些dump信息,内容较多、较完全;
-
通过在mainlog或者bugreport中搜索关键字am_anr,ANR in可以得到ANR发生的时间、对应的进程、原因描述等、CPU占用和iowait时间,有时也需要确定内存情况,可以通过在bugreport中查找mem info信息获取到;
-
-
trace获取
-
Android系统有自身的设计,在应用运行时出现无响应时,会将该信息记录保存到data/anr/目录下,即为所需的trace文件,所以获取该文件的方式也就特别简单,执行如下命令即可;adb pull /data/anr/上述命令执行完成,在当前目录会有anr文件夹,里面就是所以的文件;
-
-
kernel log获取
-
有时为了有助于定位问题,需要获取内核log信息,可以通过如下方式获取;adb shell dmesg > dmesg.log // 需要 root 权限 adb shell cat /proc/kmsg > /tmp/kernel.log // 需要 root 权限
-
根据缓冲区抓取日志
android log输出量巨大,特别是通信系统的log,因此,android把log输出到不同的缓冲区中,目前定义了四个log缓冲区:
1)Radio:输出通信系统的log2)System:输出系统组件的log3)Event:输出event模块的log4)Main:所有java层的log,遗迹不属于上面3层的log
缓冲区主要给系统组件使用,一般的应用不需要关心,应用的log都输出到main缓冲区中
默认log输出(不指定缓冲区的情况下)是输出System和Main缓冲区的log
adb logcat –b radioadb logcat –b systemadb logcat –b eventsadb logcat –b main
跟看日志级别抓取日志
根据进程号抓取日志
查看当前应用的进程号:adb shell ps -A | grep settings( 设置)在终端打印设置对应的进程号的日志:adb shell dumpsys | grep "进程号"例:adb logcat | grep "7930" 根据进程号查找日志
根据特定名称过滤特定类型的日志
adb shell hilogcat | grep -E -i "ShortcutUtil|locale|onReceive|Gallery2|android.intent.action.LOCALE_CHANGED"
日志关键字
ANR关键字
-
确定无响应发生的时间:am_anr,ANR in;
-
查看trace文件,找到对应进程的文件;
-
查看系统耗时关键字:binder_sample,dvm_lock_sample,am_lifecycle_sample,binder thread;
软件的打开与停止
-
WindowManager: Changing focus from null to window{ 1578093 uo com.tencent.mm/com.tencent.mm.ui.LauncherUI} //微信WindowManager: Chaging focus from windos{ 8b1b468 u0 com.tencetn.mm} //微信持续到现在(中途有切出过)
-
ActivityManager:sendIntentSender target: PendingIntentRecord{ d4a5f26 com.eg.android.AlipayGphone}//支付宝WindowManager:focus from null to window{ 3cf6e92 u0 com.eg.android.AlipayGphone}//中途在打开支付宝,之前一直在WindowManager: focus from Window{ e505bc0 u0 com.eg.android.AlipayGphone}//支付宝使用结束
省电模式开启和关闭
-
开启:log中存在关键字handlePowerModeSwitch to SaveMode, settings db SmartModeStatus=4
-
关闭:log中存在关键字handlePowerModeSwitch to SmartMode, settings db SmartModeStatus=1
网络的稳定和不稳定
-
adb logcat | grep -e NetworkPredictMatcher -e Booster_Qoe 低于-60 就是网络问题WIFI :adb logcat | grep WifiNl80211Manager 低于-70 网络问题
智慧语音关键log
Line 18219: 08-22 16:23:42.931 30093 30093 I HwVA VassistantConfig: setStartMode: 0 // 电源键是11 //语音是4 Line 6826: 08-22 16:23:48.325 30093 30166 I VK VoiceDataProcess: handlePartialAsr =你说,我在听… Line 6842: 08-22 16:23:48.329 30093 30093 D HwVA FloatWindowView: handleText 你说,我在听…VK BaseActionGroup: speaking action start TTS, text = 好的.IntentionHandler: processCommandExecutionFinished //云侧意图是否已下发
转载地址:https://blog.csdn.net/jmzrj/article/details/125037928 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月08日 22时24分17秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
思科 Packet Tracer 实验六 RIP路由协议基本配置
2021-06-29
计算机网络实验七:DHCP基本配置
2021-06-29
计算机网络实验八:思科NAT的基本配置
2021-06-29
三郎数据结构算法学习笔记:单向环形链表约瑟夫问题
2021-06-29
前端特效H5+css+js:动态可拉进度条+附完整源码
2021-06-29
三郎数据结构学习笔记:双向循环链表(判断是否对称)附源码
2021-06-29
三郎数据结构算法学习笔记:基数排序
2021-06-29
三郎数据结构算法学习笔记:斐波那契(黄金分割法)查找算法
2021-06-29
Java中标识符的命名规则是什么?硬性要求和非硬性要求
2021-06-29
Java中八种基本数据类型的大小,以及他们的封装类
2021-06-29
Spring依赖注入的方式有几种,各是什么?
2021-06-29
SpringMVC怎么样设定重定向和转发的?
2021-06-29
SpringMVC常用的注解有哪些?
2021-06-29
spring bean的生命周期
2021-06-29
计算机网络子网划分详解
2021-06-29
计算机网络生成树算法STP简介
2021-06-29
三郎数据结构算法学习笔记:哈希表查找
2021-06-29
三郎数据结构算法学习笔记:二叉树的三种遍历及增删改查
2021-06-29
三郎数据结构算法学习笔记:顺序存储二叉树
2021-06-29
三郎数据结构算法学习笔记:线索二叉树
2021-06-29