问题标签 [printk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
400 浏览

ubuntu - 如果在引导期间加载了模块,则不会出现 printk 消息

我添加了一些 printk(KERN_ALERT "sample\n"); 进入驱动模块。如果我手动安装驱动程序,则会出现这些打印。但如果在引导过程中加载了相同的驱动程序,则不会出现该消息。

我确信在启动过程中会加载相同的模块,因为我更改了模块作者名称,以便在我执行 $modinfo 时它会出现。该模块位于内核源代码路径中,我已经编译并 $make module_install。

我正在运行 ubuntu 10.04 和内核版本 3.14.2 我缺少什么?

谢谢。

0 投票
1 回答
4980 浏览

c - 如何使用 printk 在内核模式下调试

我正在尝试向 Linux 添加一些东西task_struct

在这个区域中,我从用户那里复制了一个字符串并尝试将它存储在我的结构中。

我尝试通过添加printk将打印复制的字符串来调试我的代码。

这是代码的调试部分:

对我来说必须重要的印刷品是

它会起作用吗?

了解 printk:

每当调用 printk 时,我什么时候从终端运行我的测试文件,它会将输出打印到工作终端?

0 投票
1 回答
6130 浏览

c - 如何将应用程序 printf 消息传递到 /var/log/messages

我想将应用程序 printf 日志消息传递到 /var/log/messages。因为 /var/log/messages 可以看到内核调试消息。但是我不知道如何将应用程序 printf 日志消息传递到 /var/log/messages。谁能建议我如何做到这一点。

0 投票
2 回答
2993 浏览

linux - Send printk to serial

I am trying to debug a module for the Linux kernel. I heard that it is possible to send the console output to a serial port. I'm running Ubuntu on vmware and want to send printk message to the host. I have managed to set up a serial Connection and can send an echo to the host by typing echo > simething /dev/ttyS1 But I can't figure out how to send the output on the console to ttyS1.

My main problem is that when the module/kernel crashes the last printk-messages are lost and not even displayed, it just buffers.

0 投票
2 回答
3966 浏览

linux - 打印 `current` task_struct 的 comm 字段,Linux 内核

我正在尝试打印 的comm字段current task_struct以打印进程的名称。然后,使用current->parent,我想对所有当前进程的祖先做同样的事情。

这是我到目前为止所得到的:

这是结果(pid显示在进程名称的左侧): 在此处输入图像描述

如您所见,第一个和最后一个过程没有正确打印。我理解为什么第一个被截断 -current->comm是一个 16 chars 的数组,因此 process_ancestor (我的程序的名称)中的最后一个“r”根本没有空间。但是,我不明白为什么要swapper附加空终止符。有没有可能这实际上是进程的名称?还是有其他问题?

0 投票
1 回答
101 浏览

linux - 'printk' 如何以高分辨率获取当前时间?

每次printk输出时,行首的方括号中会自动显示一个高分辨率的时间。如何printk以高分辨率获取当前时间?我还想在我的内核模块代码中获得如此高的分辨率时间。

0 投票
0 回答
820 浏览

linux-kernel - 启动时如何实现 printk

我正在将最新版本的 Linux(linux-stable)移植到定制的 ARM926TEJ-S 板上,并且我想在初始化阶段打印消息。所以我对如何让 uart 在内核初始化阶段工作的问题感到困扰。

在 init/main.c:start_kernel() 中打印 linux 横幅 最终调用printk()以打印消息。我的问题是如何printk()实现以及如何让printk()输出到我的 uart。

因为我知道 uart 的驱动程序没有在那里初始化,所以它们是通过rest_init()在 start_kernel() 的末尾调用来初始化的。rest_init()因此将调用do_initcalls()并最终调用module_init()驱动程序。

而且我知道putstr("Uncompressing Linux..."); 在解压缩阶段通过arch/arm/boot/compressed/debug.S使用waituart/senduart...文件设置实现的实现CONFIG_DEBUG_LL_INCLUDE

0 投票
1 回答
6013 浏览

c - 为什么 printk 不在内核日志中打印消息(dmesg)

我编写了如下所述的小内核模块代码,我正在测试它ubuntu 14.04

insmod现在,当我使用我在 dmesg 中看不到 printk 消息编译和插入上面的模块时。但是,在使用删除模块后,rmmod我看到了两个 printk 消息。

通过闭包看,我发现它是由于printk中的spaceafter而发生的。\n
但是我不明白为什么会这样。

0 投票
1 回答
1037 浏览

linux - 中断处理程序中的 Printk 或 I/O 危险

为什么在 linux 的中断处理程序中禁止 printk 或 (I/O) .? 在什么情况下中断处理程序中的 I/O 会导致 Linux 系统死锁?

0 投票
2 回答
1204 浏览

c - 警告:数组下标高于模块中的数组边界 [-Warray-bounds]

我正在编写一个简单的模块来获取一些命令行输入。在编译期间它会发出警告

为什么它会发出警告,因为循环似乎一直运行到 i=2,我看到了一些关于此的问题,但这对我没有太大帮助