问题标签 [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 投票
1 回答
1937 浏览

c - printk 是行缓冲的吗?

在 Linux 应用程序级别上,所有 printf 消息都转到stdout并且所有 err 消息都转到stderr。在哪里

stderr 通常是无缓冲的,并且

stdout 是行缓冲的

因此,kernel space当我们使用printk() 有或无KERN_ERR以及其他级别的指定宏时,如何缓冲这些消息?

dmesg有什么单独的机制吗?

0 投票
2 回答
5774 浏览

c++ - 如何打印以筛选结构及其所有内容?

我想在c/中找到一个宏,c++它获取结构typedef和指向结构的指针作为输入并打印其所有内容,如下所示:

假设我有一个名为struct account.

我这样使用它:

我想要一个看起来像这样的 linux kernel/c 语言中的宏:

并打印以下内容:

dir这个想法是在内核中有一种python函数


编写一个宏来对结构的内容进行字符串化

您最通用的 C 宏,用于打印不同类型的变量值

是否有用于打印结构的 C 预处理器宏?

在 C 预处理器中编写一个 while 循环

0 投票
1 回答
327 浏览

linux-kernel - linux-kernel {{ 添加系统调用:从用户空间测试:数据/printk 问题}}

好的,所以我已经成功地向内核空间添加了一些系统调用。目前我已经将他们的主要意图注释掉了,我想确保数据成功地从用户空间传递到内核空间并按预期进行。我目前遇到一个问题,将用户空间中的变量声明为 unsigned long,当它通过 printk 打印时,值不一样。我已经查看了有关该主题的其他问题,这些问题似乎相关并且没有帮助,我认为人们只是使用 printk 错误。我之前用内核空间测试过这个,只打印一个字符串,一切都很好,所以我添加了从用户空间传递的数据并遇到了这个问题,所以......

用户空间:

内核空间:

所有编译都很好,没有警告或错误。但是当我运行: 时dmesg | tail -20,我得到一个像1334886164而不是我期望的47的值。(是的,我做了所有需要的make, make module_install install, reboot, 等等)。就好像它正在抓取垃圾/过度运行内存或其他东西。但我不知所措。有什么想法/想法吗?

0 投票
1 回答
1087 浏览

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

我正在开发一个 linux 设备驱动程序(内核版本 2.6.32-37)。我主要通过打印到内核日志(使用 printk)来调试我的代码。一切顺利,直到我的电脑突然停止响应。我一遍又一遍地检查它,我的代码似乎是正确的。我的问题是:

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

非常感谢!

奥马尔

0 投票
2 回答
337 浏览

logging - 运行应用程序时记录内核日志

printk在Linux内核中放了一些这样的声明

我有兴趣在运行a.out应用程序时记录此命令的输出,例如:

但似乎这种方法不起作用。newLog.txt 和 oldLog.txt 都是一样的。但是,我可以"Hello from Kernel"dmesg命令输出中观察到。您是否知道像这样捕获日志的简单方法?

我的第二个问题是关于日志级别的。我用了KERN_DEBUGprintk语句中使用了,但即使我设置echo 1 > /proc/sys/kernel/printk它仍然Hello from kernel会在dmesg命令输出中打印。

0 投票
0 回答
134 浏览

c - printk 在启动到新编译的内核后停止写入

我已经在我的 VMware 机器上编译了最新的 Linux 内核版本 (3.7.6)并且能够成功启动到新内核,但是由于某种原因我无法在 syslog 中查看来自内核的 printk 消息(我正在检查 /var/log /messages ),动态插入的模块不会写入 syslog

我什至尝试过

但没有运气

我的 printk 配置似乎可以使用以下值

我正在使用的模块也已加载,我可以从中看到

任何关于分辨率的想法都非常感谢。

0 投票
2 回答
6048 浏览

linux - linux内核printk输出

我是 Linux 内核开发的新手,当我尝试通过在 timekeep.c 文件中添加 printk 函数来修改系统调用函数时,比如

dmesg 实用程序为我提供如下输出:

我真的不明白 [] 中的那些是如何生成的。有人可以给我一个提示吗?

0 投票
1 回答
1556 浏览

linux - Linux内核中的printk时间戳解析

如何在 linux 内核中启用具有纳秒分辨率的时间戳。目前它以毫秒分辨率显示,如下所示。

我需要启用任何配置或宏吗???……

……

0 投票
1 回答
42 浏览

printk - 打印到屏幕时如何避免这种情况?

当我用“坏”字符做 printk 时,有时我会扰乱我的屏幕,

在此处输入图像描述

打印它们时这是不可避免的吗?

0 投票
1 回答
1019 浏览

android - Android KERN_DEBUG 日志级别

KERN_DEBUG 日志级别在 Android 中写入到哪里?例如,如果我打电话给

那么输出写在哪里?