[Android]_[初级]_[使用adb logcat来过滤匹配指定日志]

本文探讨了在Android开发中如何有效地使用日志调试技术,特别是在App进程终止时捕获OnDestroy事件的方法。介绍了利用adb命令打印logcat输出的具体步骤,并提供了一些实用的日志命令示例。

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

场景

  1. 我们在开发Android程序时,对AppLog调试. 如果在主ActivityOnDestroy加日志后,通过切换使用最近应用把这个App关闭时能触发OnDestroy事件,但是部系统版本并不能打印出OnDestory日志,因为进程已经终止,我们通过AS调试时也看不到绑定的这个进程的日志输出,怎么办?

说明

  1. App的进程终止时,我们可以通过使用外部的adb命令进行打印logcat输出,过滤出自己的App名称。也能看到进程被Kill的日志,而通过AS调试是看不到的。
 #1930 A=com.example.Application U=0 sz=0}
11-28 08:18:52.356  4410  4499 D PowerKeeper.Event: notifyActiveKilled processName: com.example.Application, pid:8564, reason:stop com.example.Application: SwipeUpClean

例子

以下是常用的通过查找匹配字符串的日志命令。

  1. adb logcat -e "com[.]example" 参数-e <expr>--regex=<expr>支持查找包含匹配的正则表达式的行,有些低版本的Android系统不支持-e参数,只能使用find进行查找。

  2. adb logcat | find "com.example" 使用管道|来查找find命令包含匹配的字符串的行。

  3. adb logcat -e "com[.]example" -f /data/local/tmp/1.txt -m 20 写入手机系统临时目录的文件里, 只输出20行. 如果想查看这文件,可以通过adb pull /data/local/tmp/1.txt 1-copy.txt 复制到本地路径下的1-copy.txt

  4. adb logcat -e "com[.]example" -m 20 > 1.txt 使用>把屏幕的输出重定向到系统本地文件,只输出20行后退出。

  5. adb logcat -e "com[.]example" -t 1000 输出最新1000行,它的起始时间在1分钟内(文档没说明,估算). 如果1分钟内没有匹配行,只输出以下的, 注意,logcat的日志不会永久保留的,估计会在缓存里存储1分钟。

    --------- beginning of main
    --------- beginning of system`
    

参考

adb logcat

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白行微

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值