Android用ADB 打印Linux内核调试信息命令dmesg和kmsg

声明

  • 最近调试Android Linux内核代码,必备命令是dmesg和cat /proc/kmsg
  • 这两个命令分别如何使用呢?就在本文的内容

1 应用空间的Log和内和空间的Log

  1. 用户空间的Log很简单了,大家都知道有个logcat命令,logcat的使用可参考logcat命令介绍

  2. 内核空间的Log所使用的命令为dmesg和cat /proc/kmsg

2 dmesg的使用

2.1 Android和Linux系统中的dmesg命令

查看Android 系统中dmesg的help信息:

dmesg --help

Android 系统中的dmesg

在Linux系统中同样有dmesg命令来查看内核Log信息:

dmesg --help

Linux系统中的dmesg

可以发现Linux系统中的dmesg功能更齐全,Android系统中的dmesg只是一个Linux系统中dmesg阉割版本

3 Android系统中使用cat /proc/kmsg打印内核Log

用cat /proc/kmsg命令打印出来的信息跟与dmesg 有不同, 第一次执行/proc/kmsg 打印到当前时间的所有内核信息,再次执行cat /proc/kmsg,不会再打印已经打印的信息,只打印上一次执行之后打印出来的新的信息。

4 环形结构日志

应用空间和内核空间的Log是以环形结构存储,如果不及时打印出日志,那么新存入的日志将会冲掉前面的日志。在使用dmesg打印内核Log时,会发现总是打印出环形结构从头到尾的所有Log,并不会同步更新新加入的log。而使用cat /proc/kmsg即可同步打印出内核当前的Log,这也是dmesg和cat /proc/kmsg的主要差异所在。

日志环形结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小馬佩德罗

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

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

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

打赏作者

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

抵扣说明:

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

余额充值