Linux-linux内核调试方法printk

1、printk

1)等级路径
include\linux\kern_levels.h

#define KERN_EMERG	KERN_SOH "0"	/* system is unusable */
#define KERN_ALERT	KERN_SOH "1"	/* action must be taken immediately */
#define KERN_CRIT	KERN_SOH "2"	/* critical conditions */
#define KERN_ERR	KERN_SOH "3"	/* error conditions */
#define KERN_WARNING	KERN_SOH "4"	/* warning conditions */
#define KERN_NOTICE	KERN_SOH "5"	/* normal but significant condition */
#define KERN_INFO	KERN_SOH "6"	/* informational */
#define KERN_DEBUG	KERN_SOH "7"	/* debug-level messages */

#define KERN_DEFAULT	KERN_SOH "d"	/* the default kernel loglevel */

0是最高等级,7是最低等级
2)用户接口

book@100ask:~$ cat /proc/sys/kernel/printk
4	4	1	7

四个数字的含义:
第一个数字:控制控制台消息的打印级别。当内核有消息要输出到控制台时,如果消息的级别小于等于这个数字,那么消息就会被打印出来。

第二个数字:控制默认控制台日志级别。对于没有指定特定级别的消息,默认会使用这个级别。

第三个数字:控制控制台消息的最小级别。任何消息级别小于这个数字的消息都会被忽略。

第四个数字:控制控制台消息的缓冲区大小,以页为单位。

3)用法例子
在内核代码中添加

printk(KERN_DEBUG "Debug message\n");
printk(KERN_INFO "Informational message\n");
printk(KERN_WARNING "Warning message\n");
printk(KERN_ERR "Error message\n");

4)查看打印信

book@100ask:~$ dmesg 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值