一尘不染

内核中打印输出到哪里去?

linux

我正在调试Linux(特别是ubuntu服务器9.04)的驱动程序,并且代码中有几个printf语句。

在哪里可以查看这些语句的输出?

EDIT1:我要执行的操作是使用proc文件系统写入内核。打印代码是

static int proc_fractel_config_write(struct file *file, const char *argbuf, unsigned long count, void *data)
{
    printk(KERN_DEBUG "writing fractel config\n");
    ...

在kern.log中,当我尝试覆盖文件/ proc / net / madwifi / ath1 /
fractel_config(当然会随着时间的变化)时,看到以下消息。

[ 8671.924873] proc write 
[ 8671.924919]

有什么解释吗?


阅读 344

收藏
2020-06-07

共1个答案

一尘不染

它取决于分布,但是许多用于klogd(8)从内核获取消息的消息,或者将它们记录到文件中(有时是/var/log/dmesg/var/log/kernel),或者通过记录到系统日志中syslog(3)。在后一种情况下,日志条目的结束位置将取决于的配置syslogd(8)

关于该dmesg命令的一个注意事项:内核消息存储在循环缓冲区中,因此大量输出将被覆盖。

2020-06-07