系统相关
首页 > 系统相关> > linux-打印到内核日志的限制

linux-打印到内核日志的限制

作者:互联网

我正在使用Linux设备驱动程序(内核版本2.6.32-37).我主要通过打印到内核日志(使用printk)来调试代码.一切正常,直到我的计算机突然停止响应.我已经一遍又一遍地检查了它,我的代码似乎是正确的.
我的问题是:

内核日志中的打印过多是否有可能导致计算机停止响应?

非常感谢!

Omer

解决方法:

我怀疑问题是由printk引起的,当然使用printk本身会减慢整个代码的速度,但不会使系统崩溃.

以下是Ubuntu Kernel Debugging Trick年代的报价:
内部内核控制台消息缓冲区有时可能太小而无法捕获所有printk消息,尤其是在调试代码生成大量printk消息时.如果缓冲区已满,它将环绕并且可能会丢失有价值的调试消息.

正如您所看到的,当打印过多的数据时,您只需开始写一些您想在日志文件中看到的旧数据;这是一个问题,因为一些调试消息将消失,但不足以使整个事情崩溃.

我建议您再次检查代码,尝试跟踪崩溃的时间/位置,如果无法解决问题,请在此处或某些内核黑客邮件列表中发布问题.

P.S同样要提到的是,您在放置printk语句时要特别小心,因为某些代码区域可能无法忍受由此引起的延迟,并且THIS可能会导致进一步的问题,从而导致冻结/崩溃.

标签:linux-kernel,linux-device-driver,linux
来源: https://codeday.me/bug/20191031/1973145.html