一、前言
在调试Android的Linux内核时,我们往往会通过打开对应模块的调试Log来查看一些关键信息。通常我们可以使用一些简单的查看方法,比如:
在pc端装有adb工具时,使用adb shell dmesg >D:/Kernel.log
但是dmesg通常只能打印部分Log信息,如果连续输入命令,在保存的日志文件中可能会出现很多重复内容,这是因为dmesg会打印启动后到目前的Log信息。
或者使用:adb shell cat /proc/kmsg
proc/kmsg,不会再打印已经打印的信息,只打印上一次执行之后打印出来的新的信息,但是同样因为缓冲区的原因,kmsg会出现中断。如果在主机端编写脚本定制调用kmesg,由于每次Kmesg结束的时间可能不固定,所以很难设置时间间隔,从而导致Log日志文件出现先后顺序不一样的打印,对于我们分析Log非常不利。
如何让一台android调试手机,能够像Android开发板一样在串口实时打印信息呢?通过各种尝试终于找到了一种解决方案。