printk不能输出问题
printk是内核调试的重要手段,我们知道查看printk的打印信息可以用dmesg命令来查看,但是有时你会发现,你要的printk打印并没有打印出来,这是为什么呢?
原因是你的打印信息很早就打印了,只是由于打印信息过多,存储这些信息的buffer有限,最大2的17次方。所以造成覆盖。
解决办法是
1.把buffer大小调到最大。
2.把串口打印级别调到 8,使所有的printk都能打印到终端,然后重启,盯着打印信息,在串口终端使用鼠标把最初始那一段打印截取下来,这样就不用担心被覆盖了。
注意:每个printk是有时间显示的,你dmesg一看就知道哪个时间点之前的信息被覆盖了。
还没有评论,来说两句吧...