打开固定文件的pr_debug

驱动中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,避免逐个打开的工作量.

原文地址:https://www.cnblogs.com/bhlsheji/p/5245259.html