Linux内核 - printk到一个文件

时间:2015-03-08 07:53:59

标签: c linux linux-kernel

我正在调试我的系统调用,我发现dmesg打印了很多行,这让我无法看到我的所有printk

文件可以printk吗?

2 个答案:

答案 0 :(得分:0)

printk() printf()之间的主要区别在于前者指定日志级别的能力。内核使用loglevel来决定是否将消息打印到控制台。内核在控制台上显示loglevel低于指定值的所有消息。

在标准Linux系统上,来自日志缓冲区的消息将通过syslogd传递到/ var / log / messages。

否则,您可以检查syslogd配置以查看它们的去向。

如果您根本没有syslogd并且已经系统化了,那么您可以找到journalctl -k -f

的消息

答案 1 :(得分:0)

使用trace_printk()代替printk()

你的照片应该是ftrace缓冲区。

      $ cd /sys/kernel/debug/tracing
      $ cat trace

请参阅http://june-takeout.blogspot.dk/2010/01/debugging-kernel-using-ftrace-part-1.html,并参阅“使用trace_printk()”

部分