Tag: printk

Linux内核调试打印输出?

有没有更好的方法来调试Linux内核中的打印输出? 现在乱丢代码: printk(KERN_DBG “%s:%d – %s() “, __FILE__, __LINE__, __FUNCTION__ ); 哪个不是很干净。 应该有一种方式让整行成为#ifdef :ed以一种不错的方式。

printk在一个中断处理程序中,它真的那么糟糕吗?

大家都知道中断处理程序应该尽可能短。 并且在中断处理程序中添加用于调试的函数如printk是不应该做的事情。 实际上,我之前在为我编写的中断驱动的char设备调试linux内核时尝试过它,它破坏了驱动程序的时序。 我的问题是,为什么会发生这种情况? printk函数被缓冲! 这意味着,据我所知,数据被插入到队列中,并且稍后处理,很可能是在中断处理程序完成之后。 那为什么不起作用呢?