通过android的模拟器调试自己编译的内核,想实时打印内核的调试信息,但是默认内核的打印信息好像是往console=tty0输出的,这个我不知道怎么模拟一个tty0
的终端,但是知道在adb shell口可以通过dmesg查看kernel printk buffer的信息。
于是写了一个脚本循环输出kernel printk buffer的内容到adb shell:
在android源码根目录下创建logkernel.sh 内容如下:
#!/bin/bash
source ./build/envsetup.sh
lunch full-eng
x=1
while [ $x -eq 1 ]
do
adb shell dmesg -c
sleep 0.1
done
其中: dmesg 的-c参数表示显示buffer信息到shell口,并且清空buffer。
sleep 0.1 表示打印的查询间隙是0.1秒