Android 系统调试技巧

本文介绍安卓系统中多种调试技巧,包括实时跟踪KernelLog使用dmesg命令,利用logcat工具按PID过滤日志,通过kill-5命令进行backstrace分析,及在Android Studio中设置断点检查Handler消息队列等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.实时跟踪Kernel Log,主要命令dmesg,详细用法可以使用-h选项查看,如实时查看kernel Log信息

adb shell dmesg -T -w

会不断将Kernel Buffer Log吐出

2.logcat 工具,除了常用的过滤,还可以根据pid过滤

如adb logcat --pid xx

只看某个进程的log

3.某个进程卡死,但是又没有生成ANR或者其它DB,在Q平台可以使用kill -5 pid命令杀掉并产生backstrace分析,生成的文件路径为/data/tombstones,可以查看各个线程的一个状态。

4.使用AS调试,增加断点。如想查看Handler里有多少个未处理的消息:

调用Handler中有多少个Message,可以在AS关注点前断点,也可以向源代码添加的方式,
然后右键选择Evaluate,添加代码如下:
mH.dump(new LogPrinter(Log.DEBUG, "tag_xx"), "Haha ");
点击执行,同步打开终端使用logcat -s os_xx,接收输出的Log即可以了
打开某个线程的loop Log,如WMS的android.display线程
WMS使用的线程,名字DisplayThread,调用其Looper.setSlowLogThresholdMs参数,将其设置为200ms,只要
某个消息处理耗时大于200ms,将打印出对应的Log

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值