- 论坛徽章:
- 0
|
各位朋友,有谁对kernel中的dynamic debug有所了解么?
我先修改.config文件,将CONFIG_DYNAMIC_DEBUG和CONIFG_DEBUG_FS打开,
然后在dynamic_debug.h头文件中,将dynamic_dev_dbg宏定义中的_DPRINTK_FLAGS_DEFAULT修改成了_DPRINTK_FLAGS_DPRINT,
然后编译。
运行起来之后将debugfs挂载上mount -t debugfs none /sys/kernel/debug
并且在dynamic_debug目录下的control文件中添加了规则,
结果没有打印。。。
我自己写了个类似的宏对比之后,定位为
#define dynamic_dev_dbg(dev, fmt, ...) do { \
static struct _ddebug descriptor \
__used \
__attribute__((section("__verbose" , aligned( )) = \
{ KBUILD_MODNAME, __func__, __FILE__, fmt, DEBUG_HASH, \
DEBUG_HASH2, __LINE__, _DPRINTK_FLAGS_DEFAULT }; \
if (__dynamic_dbg_enabled(descriptor)) \
dev_printk(KERN_DEBUG, dev, fmt, ##__VA_ARGS__); \
} while (0)
中的(__dynamic_dbg_enabled(descriptor)) 一直是0,不知道怎么回事?
求高手指点下。这玩意儿把我整的有点惨。
Good Luck and Have Fun. |
|