以前一直都是用 VS2008 + DDKWizard + WinDbg 來進(jìn)行驅(qū)動(dòng)程序的開發(fā)調(diào)試的,
使用 DDKWizard 來搭配調(diào)試環(huán)境呢,在 VS2008 下也還算方便,
因?yàn)椴恍枰约喝ピO(shè)置一些什么包含文件啊,源代碼路徑啊之類的就可以直接編譯驅(qū)動(dòng)程序源碼,
安裝好 DDKWizard 后,在 VS2008 中就會(huì)自動(dòng)出現(xiàn)一個(gè)開發(fā)驅(qū)動(dòng)程序的項(xiàng)目框架,
就跟選擇創(chuàng)建 WinForm 應(yīng)用程序一樣的,創(chuàng)建好 DDK 項(xiàng)目后也是可以直接在 VS2008 下編譯的,
所以在開發(fā)上也還方便,但是在調(diào)試上的話,就麻煩了,
在 WinDbg 中有一大堆東西要設(shè)置,在虛擬機(jī)上也要設(shè)置一些命令,
關(guān)于 WinDbg + VMware 開發(fā)調(diào)試驅(qū)動(dòng)程序在網(wǎng)上有比較有名的酒若琳的文章,
不過那是很多年以前的文章了,有興趣的可以去谷歌搜索 "酒若琳 WinDbg" ,應(yīng)該是可以找到那篇文章的。
同時(shí)對(duì)于這一塊的使用,也可以參考筆者的文章《驅(qū)動(dòng)開發(fā) – WDK 調(diào)試及 SVN 環(huán)境搭配》,
博文地址為:http://www.cnblogs.com/BoyXiao/archive/2011/05/06/2038578.html
但是在使用 DDKWizard + VS2008 進(jìn)行驅(qū)動(dòng)開發(fā)時(shí),是不能夠直接通過 VS2008 來調(diào)試的
(這里可能有其他門路來實(shí)現(xiàn),但是筆者沒有實(shí)現(xiàn)過),
而一般都是在 WinDbg 中設(shè)置好符號(hào)文件的路徑以及源代碼的路徑,然后再驅(qū)動(dòng)程序的源代碼中嵌入一些匯編代碼,
當(dāng)然這些匯編代碼只是簡單的用來實(shí)現(xiàn)一個(gè)中斷,從而在 WinDbg 調(diào)試器中會(huì)生成一個(gè)斷點(diǎn)。
這樣調(diào)試起來速度慢,也不好控制,所以有時(shí)候覺得在做開發(fā)的時(shí)候,在調(diào)試上花去的時(shí)間太多了,會(huì)不爽。
在本次博文中,將要介紹的是一個(gè)開源項(xiàng)目 VirtualDDK(VirtualKD 中包含了 VirtualDDK),
通過這個(gè)開源項(xiàng)目即可以很好的實(shí)現(xiàn)在 VS2010 以及 VS2008 下直接調(diào)試驅(qū)動(dòng)程序,
同時(shí)對(duì)于 VirtualDDK 的環(huán)境搭配也是很簡單的,下面就直接上一些圖片以及一些注解來說明,
由于文章存在大量的截圖,所以讀者只要按著截圖來做基本上都是可以成功的。
同時(shí)下面給出官網(wǎng)上的一篇關(guān)于利用 VirtualDDK 和 VS 來調(diào)試驅(qū)動(dòng)程序的文章(內(nèi)容非常詳細(xì)),
基本上通過筆者的這篇博文和官網(wǎng)上的博文就完全可以搭建驅(qū)動(dòng)程序開發(fā)環(huán)境成功了 !
同時(shí)在官網(wǎng)上的環(huán)境為 VS2008 的。而且在官網(wǎng)的博文中還有兩個(gè)比較好的驅(qū)動(dòng)例子の !
1. A dummy driver that simply prints a message when it is loaded .
2. A ramdisk driver, that creates a virtual hard disk .