5 WDK 除錯驅動使用devcon

2021-09-12 10:37:35 字數 1298 閱讀 5197

由於對於wdk除錯完全不了解。然後從網上找了驅動安裝工具,

安裝第一次能夠列印,解除安裝後再安裝發現能夠再繼續列印了。 懷疑是因為解除安裝不完整導致 。 果然重啟後安裝-》啟動又能夠繼續列印除錯資訊。 

### 但是程式有乙個位置一直無列印

wdf_driver_config_init(&config,

kmdfdriver3evtdeviceadd

);kmdfdriver3evtdeviceadd  對應啟動時應該是被執行了,但是windbg除錯什麼怎麼也不列印 。 

程式使用兩句列印內容 。 

dbgprint("helloworld debug");   //無列印,不知道為什? 

kdprintex((dpfltr_ihvaudio_id, dpfltr_error_level, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaa")); //能夠列印

kdprintex((dpfltr_ihvaudio_id, dpfltr_trace_level, "bbbbbbbbbbbbbbbbbbbb"));//無列印  。 

對於除錯內容還不了解 。 

使用debu**iew去除錯依然沒有顯示。 

### 最後還是在微軟官方指定網頁找到

devcon 安裝解除安裝可以除錯 ,在聯機除錯中非常的好中,當跑通後,頓時覺得浪費了不少時間在摸索第三方安裝工具和debu**iew,traceview。 

### 使用devcon 操作步驟 

(1)將devcon 工具複製到驅動除錯目錄,包含了inf sys檔案 (為了避免出現其他可能問題,直接都放到乙個目錄下除錯)

(2)管理員許可權開啟cmd 控制台 

(3)安裝 :   devcon  install  【inf檔案】 【hardwareid】  (hardwareid inf檔案應該有寫)

例子: devcon install helloworld.inf   root\helloworld     (開始錯誤時,是因為我填寫了sys檔名)

(4)解除安裝: devcon disable root\helloworld  

這樣可以重複除錯和跟蹤問了。 

明天繼續抽時間學習wdk驅動基礎。  

最後,驅動如果成功會在裝置管理器中檢視到相關的驅動檔案

中只是命名不是helloworld而已。 

使用attr高效除錯驅動

檔案中 struct kobject kobj define attr name static struct kobj attribute name attr show name show,store name store,檔案中 state show是驅動除錯的讀函式 buf是除錯的資料互動口當執...

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驅動開發除錯技術之合理使用printk

一 在除錯應用程式時,最常用的除錯技 術是列印,就是在應用程式中合適的 點呼叫printf 當除錯核心 的時 候,可以用 printk 完成類似任務。二 在驅動開發時,printk 非常有助於除錯。但當 正式發行驅動程式時 應當去掉這些列印語句。但你有可能很快又發現,你又需要在驅動程式中實 現乙個新...