Linux调试之(一)内核动态打印

本文介绍了Linux驱动中使用module_param_named方法进行动态打印的方法,以及系统级别的动态打印配置步骤,包括配置Kconfig、Makefile、内核设置、编译加载和控制端如何修改打印级别。
摘要由CSDN通过智能技术生成

Linux动态打印的两种方式

https://blog.csdn.net/u010481276/article/details/50896520

一、驱动使用module_param_named方法**

  原型:module_param_named(name, variable, type, perm);
其中name是外部可见的参数名,variable是源文件内部的全局变量名。而module_param通过
module_param_named实现,此时name与variable相同。该方法可以使模块源文件内部的变量
名与外部的参数名有不同的名字

1.驱动添加代码:

static int dbg_enable = 0;
module_param_named(dbg_level, dbg_enable, int, 0644);
#define sensor_printk(args...) \
do { \
if (dbg_enable) { \
pr_info(args); \
} \
} while (0)#ifdef pr_debug
#undef pr_debug
#define pr_debug(fmt,...) printk(KERN_INFO"%s:%s :%d\n "fmt, __FILE__ , __FUNCTION__ , __LINE__ , ##__VA_ARGS__)
#else
#define pr_debug(fmt, ...)     printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__)
#endif
(1) VA_ARGS 是一个可变参数的宏,很少人知道这个宏,这个
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值