驅動中的除錯方法

2021-05-28 09:57:09 字數 1296 閱讀 9823

/*模組載入是向核心傳遞引數 如果不傳遞就用預設的引數*/

/*使用者向核心傳遞引數的方法 eg insmod param.ko name="wenhui" age=20*/

/*核心除錯資訊的使用*/

#undef pdebug /*取消對pdebug的定義 以防重複定義*/

#ifdef ***_debug

#define pdebug(fmt) printk("<0>***:%d\n",fmt)

#else

#define pdebug(fmt) /*除錯被關閉不做任何事情*/

#endif

#include#includemodule_license("gpl");

static char *name = "wenhui";

static int age = 30;

module_param(age, int, s_irugo); // s_irugo 引數讀寫許可權

module_param(name, charp, s_irugo); //

static int __init hello_init(void)

static void __exit hello_exit(void)

module_init(hello_init);

module_exit(hello_exit);

kerdir = /home/linux-2.6.32.2

obj-m += debug_example.o

build: kernel_modules

kernel_modules:

make -c $(kerdir) m=$(curdir) modules

clean:

make -c $(kerdir) m=$(curdir) clean

#comment/ucomment the following line to disable/enable debugging

debug = n

#add your debugging flag(or not) to cflags

ifeq ($(debug),y)

debflags = -o -g -d***_debug # "-o"is needed to expand inlines

else

debflags = -o2

endif

#cflags += $(debflags)

extra_cflags += $(debflags)

驅動的快速除錯方法

之前使用動態載入驅動 用驅動除錯助手匯入登錄檔 啟用驅動 若想更改platform.bib platform.reg後驅動隨系統啟動而載入,登錄檔的更改可採用在platform.reg中 include targetplatroot src drivers reg 的方式,這樣便於理解和後續的維護。...

Windbg除錯核心驅動方法

一般說來,調速驅動程式分為兩種 1.存在pdb檔案的除錯 這裡的pdb檔案其實就是除錯符號檔案,假如我們除錯的這樣的檔案,我們可以再windbg中使用 bp 驅動名 driverentry,這個時候當載入驅動的時候,程式就會斷在入口了。2.沒有pdb檔案的除錯 在除錯別人的驅動程式時,也就是自己只有...

wince驅動快速編譯除錯的方法

這段時間在學習 wince 驅動開發,但是每次 wince 編譯都要很久,浪費很多時間。經過網上搜尋和自己摸索,發現了兩個不錯的方法。編譯驅動更新程式都是非常的快。1.單獨編譯驅動,然後再 build os 選單下,選擇 make run time image 這個僅僅需要 1分鐘左右時間 單獨編譯...