最近遇到了内核调试的一个问题,先列举一下几种调试方式:
1.kdump来调试,信息太多了,不好分析,而且hang住的时候是无法调试的。
2.屏幕输出来调试,可能会导致屏幕显示不是很全的问题。
3.netconsole调试,如果bug出在网络模块上,可能会导致最后的panic信息无法通过网络发送出去。
综合上述原因,如果只是需要少量的调试信息可以使用串口来调试。
串口调试的配置也比较简单:
(1)修改grub.conf(或者其它的如lilo等引导)配置文件添加“console=ttyS0,9600”波特率可以自己设定,如115200等都可以。
(2)修改inittab中的tty1修改为"tty1::respawn:/sbin/getty -L 9600 ttyS0 vt100“
这样panic的信息就会自动通过串口输出了。另外接收串口数据时最好不要用windows自代的超级终端,建议使用SecureCRT,保存的数据会更多一些。
阅读(1295) | 评论(0) | 转发(0) |