[英]How can I save or longly see linux kernel BUG message from console?
我正在尝试为linux内核开发设备驱动程序,但是我在调试错误消息时遇到了问题。
我正在使用Linux内核(ubuntu 14.04,也尝试过ubuntu server 14.04)的桌面(x64)。 而且,我使用tty控制台(ctrl + alt + f1)进行测试,因为当我将日志级别设置为7时,tty控制台始终会打印printk消息。
我的问题是,首先,我正在开发的设备驱动程序代码中存在一个错误,其次,我无法获得实际的错误原因,因为除最后左几条错误消息外,我无法查看所有错误消息。
我尝试使用ssh进行调试((测试PC是ssh服务器,并且ssh客户端从ssh提取dmesg或ftrace printk消息),但ssh服务器早于内核错误消息而死,因此我只能从使用tty控制台从监视器中看到该错误消息。 。
我也尝试使用较小尺寸的控制台字体,但这只是临时解决方案。
因此,我的问题是,是否有任何适合该问题的调试技术?
例如,在出现第一个错误消息后停止打印内核错误消息,或者使用硬件或其他方式将tty控制台重定向到其他PC。
请帮我解决问题,谢谢
您可以通过修改rsyslog.conf将各种系统日志流(包括出现在dmesg中的日志流)重定向到任何终端或文件。
签入您已经有一条类似于
kern.* /some/file
/some/file
应该包含发送到dmesg
的消息。 如果不存在这样的行,请创建一个。 如果由于某些原因不能解决问题,请用*.*
替换kern.*
*.*
并尝试这种方式。
您还可以使用诸如dmesg > /var/log/dmesg
类的命令将dmesg的内容推送到文件中,这可由Cron定期完成。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.