如何开启Linux内核中的debug打印信息

如何开启Linux内核中的debug打印信息

Linux 内核中,日志等级定义在 include/linux/kern_levels.h 文件中。数值越小等级越高。

级别
对应内核日志级别
说明
0
KERN_EMERG
紧急消息。系统崩溃之前提示,表示系统已不可用。
1
KERN_ALERT
报告消息。表示必须立即采取措施。
2
KERN_CRIT
临界消息。通常涉及严重的硬件或软件操作失败。
3
KERN_ERR
错误消息。串口日志的默认级别。驱动程序常用 KERN_ERR 来报告硬件的错误。
4
KERN_WARNING
警告消息。对可能出现问题的情况进行警告。
5
KERN_NOTICE
正常但又重要的消息。用于提醒,常用于与安全相关的消息。
6
KERN_INFO
提示消息。如驱动程序启动时,打印硬件消息。
7
KERN_DEBUG
调试消息。设置此级别会打印所有日志消息。

在这里插入图片描述
这四个数字依次对应 console_loglevel,default_message_loglevel,minimum_console_loglevel,default_console_loglevel。
console_loglevel:控制台使用的日志级别;
default_message_loglevel:调用 printk() 未指定日志级别时使用的日志级别;
minimum_console_loglevel:允许设置的控制台日志级别(console_loglevel)最小值;
default_console_loglevel:系统启动时使用的日志级别。

linux/include/linux/printk.h中59行


为什么是 8 呢,KERNEL_DEBUG 的值不是 7 么?因为控制台(console)只会显示大于所设置等级的信息。比如只显示 alert 和 emerg 级别的信息,那么 console_loglevel 应该设置为 2。同样的,想要显示 debug 信息,console_loglevel 应设置为**大于 7 **的值。

在需要的.c中#define DEBUG
就可以看到内核打印了

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

古月小静

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值