Windows驅動wdf驅動開發系列(一)

來源:互聯網
上載者:User

之前沒有做過驅動開發,一切從〇開始。陸陸續續看了些書,windows裝置驅動程式wdf開發等。但是總是雲裡霧裡的。所以想一點一點的積累下在驅動方面的知識。

首先我將記錄下如何搭建調試環境?前提是wmware已裝完畢,已有兩台guest os. (xp 和win7)。下面針對兩類系統的調試進行說明。

  • 針對xp驅動調試的設定(參考:http://joeyliu.blog.51cto.com/3647812/937476)
驅動開發最好使用vmware虛擬機器,好處不多說了。首先針對vmware虛擬機器的設定(保證虛擬機器是關機狀態)

1. 設定VM與Windbg通訊的串口

開啟目標系統的Virtual
Machine Setting選項,在Hardware中添加新硬體:1)選擇Serial
Port;2)serial
Port Type 選擇“Output to named pipe”;3)Specify
Socket的選項1吧;4)最終的配置結果2所示。然後啟動VM的目標系統吧。

注意事項:一般情況下是串口2:Serial Port 2,原因是預設VM安裝虛擬印表機佔用Serial Port 1.

 

圖1

圖2

2. 設定Guest OS的啟動項

進入WinXP的虛擬機器作業系統,開啟系統硬碟(C:\),將檔案夾查看選項全開了,那在C盤根目錄下有一個叫boot.ini的啟動項檔案,先去掉唯讀屬性,以文字檔的方式開啟,拷貝原來的啟動項,作如下修改:

Multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /debug /debugport=com2
/baudrate=115200

注意事項:如果步驟1中的serial port選擇的是serial port 1是話,此處為com1.如果是serial port 2的話此處為com2.

3.配置WinDbg的捷徑

在winddk的安裝目錄(C:\WinDDK\7600.16385.0\Debuggers)找到windbg.exe執行程式。在案頭建立捷徑,並且修改屬性如下:

"C:\WinDDK\7600.16385.0\Debuggers\windbg.exe" -b -k com:port=\\.\pipe\com_1,baud=115200,pipe

注意事項:host os 使用對應的windbg.exe,原因是windbg.exe有32和64位之分。

  • 針對win7驅動調試的設定
1. WM和windbg的通訊串口設定(同guest os為xp的設定一致) 2. 設定guest os 啟動項 首先,運行msconfig進入引導tab頁,點擊進階選項,將調試選上,並且注意調試連接埠要和通訊串口的設定保持一致,重啟guest os. 其次, 方法一:啟動guest os後,以管理員權限啟動dbgview.exe。 方法二:如果想調試Kdprint的話可以修改註冊表 [HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/Debug Print Filter] DEFAULT=dword:0000000f
3. 配置windbg的捷徑(同guest os為xp的設定一致)

  •  單步調試

1.  載入符號檔案

在windbg上鍵入:.reload

鍵入:ld charsample

鍵入:lm l 

2.  設定斷點

點擊菜單“File”-> ”OpenSource File…”, 選擇驅動程式目錄下的源檔案queue.cpp並開啟。將游標移動到某指令位置,使用F9設定斷點,則該處代碼顯示為紅色,就表示斷點已經設定了。

3. 使用F11可進行單步調試

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.