對於驅動程序設計來說,核心問題之一就是如何完成調試。當前常用的驅動調試技術可分為:
打印調試(printk)
調試器調試(kgdb)
查詢調試
1、合理使用printk
#ifdef PDEBUG
#define PLOG(fmt,args...) printk(KERN_DEBUG "scull:"fmt,##args)
#else
#define PLOG(fmt,args...) /*do nothing */
#endif
Makefile作如下修改:
DEBUG =y
ifeq ($(DEBUG),y)
DEBFLAGS =-O2 -g -D PDEBUG //類似define
else
DEBFLAGS =-O2
endif
CFLAGS +=$(DEBFLAGS)