這裡介紹了如何用vs2008+ddkwizard搭建驅動開發環境。
另外還要修改個批處理檔案,我的ddkwizard是裝在d盤的,所以這裡是d:\program files\ddkwizard\wizards\emptydrv\templates\1033這個目錄,修改ddkpostbld.cmd
使我們的原始檔可以複製到生成目錄。以便於用softice能原始碼除錯。
改好後:
@echo off
:: $id$
setlocal
:: perform post-build steps
:: an example follows on the next two lines ...
:: xcopy /y ".\obj%build_alt_dir%\i386\*.sys" "..\"
:: xcopy /y ".\obj%build_alt_dir%\i386\*.pdb" "..\"
xcopy /y "*.cpp" ".\obj%build_alt_dir%\i386" ///新加入的
xcopy /y "*.h" ".\obj%build_alt_dir%\i386" ///新加入的
endlocal
安裝虛擬機器7.1。裝系統。
安裝driverstudio 3.2。
如果虛擬機器不能調出softice視窗還需修改虛擬作業系統的.vmx檔案,用記事本開啟,在後面加入:
vmmouse.present = "false"
svga.maxfullscreenrefreshtick = "5"
設定共享。把vs2008的projects目錄共享給虛擬機器。
步驟:虛擬機器 ---- 設定-----選項 ----共享資料夾,選擇 總是啟用 和 客戶機應設為乙個網路驅動器。這時開啟 我的電腦, 裡面就有個z盤。宿主機生成驅動檔案,虛擬機器用softice到這裡提取。很方便。
啟動softice。
啟動symbol load ,從共享的projects目錄找到我們生成的.sys檔案。
具體操作:
下面的內容引用了這個**
然後用softice的 symbol loader 將編譯生成的驅動程式 .sys 檔案,
然後 translate 成 .nms ,然後在symbol loader 中的 symbols 中加入,就可以實現原始碼級的除錯。
具體,
轉換生成symbols
symbol loader -> file -> open module -> 選中驅動檔案.sys之後 ->
module -> translate
加入symbols
symbol loader -> edit -> softice initialization settings... -> symbols
ctrl+d啟用soft-ice,輸入sym命令檢查除錯符號,選擇合適的除錯符號攔截,這裡用「bpx driverentry」攔截。
執行我們編寫的驅動,馬上被soft-ice攔截下來,並顯示出源程式供除錯。
用「src」命令可以在源程式、源程式—彙編**混合和彙編**三種顯示方式之間切換,「bc」命令清除全部斷點,
使用VMWare SoftICE的方法總結
使用vmware softice的方法總結 1 安裝vmware和作業系統windows2000 professional。具體步驟省略.2 在虛擬的作業系統windows2000 professional內安裝softice。我這裡安裝的是driverstudio 2.7,其中附帶有softice...
gdb 除錯 vs除錯
一 先要生成二進位制檔案 g g 1.cpp o 1.out g引數不要省,不然 gdb l 引數用不了 二 引數 設定斷點 設定 函式斷點break func 在某行設定斷點break 7 檢視斷點資訊 info break 刪除斷點 d 刪除所有斷點 d 3 刪除第三個 執行 r 下一步 n 逐...
VC2005除錯 DLL除錯, 遠端除錯
vc2005 dll除錯 如果exe檔案和dll一樣,都處於你乙個開發的狀態,那麼可以放在同乙個解決方案中,直接除錯 但是,有時候,我們開發的dll,是給其他人使用的,或者,你此時不想除錯exe 這時候,可以在dll工程選項中,選擇 除錯 選項卡 工作目錄 填入exe檔案所在的目錄 比如d test...