首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查看内核printk调试消息

查看内核printk调试消息
EN

Stack Overflow用户
提问于 2016-05-10 15:19:04
回答 2查看 867关注 0票数 3

使用pr_debug("blah\n")时,dmesg的输出中不会显示消息。我将/proc/sys/kernel/printk设置为8 4 1 7。pr_alert消息显示正常。有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2016-05-10 18:13:15

您需要定义DEBUG 才能实际打印make pr_debug

例如,如果添加行

代码语言:javascript
复制
ccflags-y := -DDEBUG=1

到模块的Makefile中,然后由该模块的任何源文件调用的pr_debug将实际打印信息。

或者,如果未定义DEBUG宏,但内核是在启用了选项 CONFIG_DYNAMIC_DEBUG的情况下构建的,则可以动态控制实际应打印哪个pr_debug调用。

例如,在执行之后(从root)

代码语言:javascript
复制
echo 'module my_module' > /sys/kernel/debug/dynamic_debug/control

从模块my_module调用的所有pr_debug都将实际打印信息。

有关动态调试的更多信息,请参见documentation

票数 2
EN

Stack Overflow用户

发布于 2016-05-15 04:50:42

如果要插入模块,请使用选项,例如insmod hello.ko dyndbg=+p。请参阅内核树中的Documentation/dynamic-debug-howto.txt

您可能还需要CONFIG_DEBUG_KERNEL=y

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37131740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档