Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1246325
  • 博文数量: 105
  • 博客积分: 127
  • 博客等级: 入伍新兵
  • 技术积分: 962
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-29 15:22
文章分类

全部博文(105)

文章存档

2021年(1)

2019年(3)

2018年(1)

2017年(11)

2016年(47)

2015年(32)

2014年(4)

2012年(6)

我的朋友

分类: 嵌入式

2019-03-31 15:36:33


转载地址:
    https://blog.csdn.net/newtonnl/article/details/39697889

驱动中pr_debug定义在kernel/include/linux/printk.h

/* If you are writing a driver, please usedev_dbg instead */
#if defined(CONFIG_DYNAMIC_DEBUG)
/* dynamic_pr_debug() uses pr_fmt()internally so we don't need it here */
#define pr_debug(fmt, ...) \
         dynamic_pr_debug(fmt,##__VA_ARGS__)
#elif defined(DEBUG)
#define pr_debug(fmt, ...) \
         printk(KERN_DEBUGpr_fmt(fmt), ##__VA_ARGS__)
#else
#define pr_debug(fmt, ...) \
         no_printk(KERN_DEBUGpr_fmt(fmt), ##__VA_ARGS__)
#endif


在makefile文件中增加ccflag+y =--DDEBUG

或者专门宏控制
ccflag+$(CONFIG_AUDIO_CODEC) =--DDEBUG

可以打开全部log,但是对于android多个文件来说log太多导致系统分析不方便,为了便于打开需要模块的log,我在需要打开log的文件中对define进行重新定义.


#ifdef pr_debug
#undef pr_debug
#define pr_debug(fmt, ...) \
printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
#else
#define pr_debug(fmt, ...) \
printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
#endif

这样就方便调试源代码中对应的log了,避免逐个打开的工作量.

在makefile中打印输出信息的方法是:$(warning xxxxx)或者$(error xxxxx)
输出变量方式为:$(warning  $(XXX))


阅读(1758) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~