Kernel之debug调试信息
背景
平时我们在调试内核或驱动的时候,需要打开或增加调试信息,最常见的比如dev_dbg()、pr_debug()等
以内核v5.15为例,我们先来看一下上面2个日志打印函数在内核里面的大致定义:
dev_dbg() [include/linux/dev_printk.h]
C
#if defined(CONFIG_DYNAMIC_DEBUG) || \
(defined(CONFIG_DYNAMIC_DEBUG_CORE) && defined(DYNAMIC_DEBUG_MODULE))
#define dev_dbg(dev, fmt, ...) \
dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__)
#elif defined(DEBUG)
#define dev_dbg(dev, fmt, ...) \
dev_printk(KERN_DEBUG, dev, dev_fmt(fmt), ##__VA_ARGS__)
#else
#define dev_dbg(dev, fmt, ...) \
({ \
if (0) \
dev_printk(KERN_DEBUG, dev, dev_fmt(fmt), ##__VA_ARGS__); \
})
#endif
pr_debug() [include/linux/printk.h]
作者: Shell
标签:Kernel,defined,fmt,dbg,DEBUG,调试信息,dev,debug,printk From: https://blog.51cto.com/winter91/8284414