vmware softICE除錯驅動檔案

2021-05-26 11:11:04 字數 1596 閱讀 6950

這裡介紹了如何用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...