一、
在除錯應用程式時,最常用的除錯技
術是列印,就是在應用程式中合適的
點呼叫printf
。當除錯核心**的時
候,可以用
printk
完成類似任務。
二、在驅動開發時,
printk
非常有助於除錯。但當
正式發行驅動程式時
,應當去掉這些列印語句。
但你有可能很快又發現,你又需要在驅動程式中實
現乙個新功能
(或者修復乙個
bug)
,這時你又要
用到那些被刪除的列印語句。這裡介紹一種使用
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
-dpdebug
else
debflags=-o2
endif
cflags+=$(debflags)
Linux驅動開發之使用dev dbg除錯裝置驅動
gqb666 1 最近在寫i2c下eeprom的驅動程式,但發現使用i2c new probed device函式無法列舉到裝置,於是想除錯該函式 位於driver i2c i2c core.c內 看到其中有些除錯資訊如下 cpp view plain copy i2c new probed dev...
linux裝置驅動四(除錯技術)
安裝自己的核心,發行版核心會關閉映像效能的除錯功能,kernel hacking的配置 printk,根據級別或優先順序鎖表示的嚴重程度對訊息進行分類。使用巨集來標示日誌界別,巨集會展開為乙個字串,編譯時和訊息文字拼接在一起,它們之間不需要逗號分割 通過將printk定義為乙個巨集,使用該巨集來列印...
linux驅動除錯之printk
對於做嵌入式或者熟悉linux核心的人來說,對printk這個函式一定不會感到陌生。printk相當於printf的孿生姐妹,她們乙個執行在使用者態,另乙個則在核心態被人們所熟知。printk是在核心中執行的向控制台輸出顯示的函式,linux核心首先在核心空間分配乙個靜態緩衝區,作為顯示用的空間,然...