Android 系统调试技巧

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

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值