[总结]内核调试开启关闭Debug功能

原创文章,转载请注明: 转载自勤奋的小青蛙
本文链接地址: [总结]内核调试开启关闭Debug功能

通过定义宏来控制是否开启Debug.代码如下:

#undef PDEBUG             /* undef it, just in case */
#ifdef SCULL_DEBUG
#  ifdef __KERNEL__
     /* This one if debugging is on, and kernel space */
#    define PDEBUG(fmt, args...) printk( KERN_DEBUG "scull: " fmt, ## args)
#  else
     /* This one for user space */
#    define PDEBUG(fmt, args...) fprintf(stderr, fmt, ## args)
#  endif
#else
#  define PDEBUG(fmt, args...) /* not debugging: nothing */
#endif

#undef PDEBUGG
#define PDEBUGG(fmt, args...) /* nothing: it's a placeholder */

然后可以在Makefile里面增加如下代码:

#DEBUG = y
# Add your debugging flag (or not) to CFLAGS
ifeq ($(DEBUG),y)
  DEBFLAGS = -O -g -DSCULL_DEBUG # "-O" is needed to expand inlines
else
  DEBFLAGS = -O2
endif

CFLAGS += $(DEBFLAGS)

PS:
CFLAGS中-D*表示:#define *
如:-DSCULL_DEBUG等价于#define SCULL_DEBUG
-Wall 表示打开所有编译告警信息
-O2表示优化级别
-Wl,-rpath,./为传递给连接器的选项,表示程序执行时的库加载路径

原创文章,转载请注明: 转载自勤奋的小青蛙
本文链接地址: [总结]内核调试开启关闭Debug功能

文章的脚注信息由WordPress的wp-posturl插件自动生成



|2|left
打赏

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: