wrk核心除錯總結

2021-09-29 12:17:44 字數 1494 閱讀 2130

2 虛擬機器選擇序列介面的時候 要注意選擇序列介面2

3 主機是64位作業系統下,安裝32位的windubg和64位的windug都可以  

4 一定要先開虛擬機器 選擇除錯模式 然後再開啟windbug     

5 在windbug快捷方式屬性裡面 目標的裡面空格後接  -b -k com:pipe,port=\\.\pipe\com_1,baud=115200,reconnect -y 

5  不用把虛擬機器的印表機刪除 發現com1口不好用

下面是全過程

1 wmare裡面安裝windows xp x86版本  主機是win7  64位的  

3 cd c:/wrk/base/ntos 目錄,進行編譯:

nmake -nologo x86=

4 編譯的結果是在/wrk-v1.2/base/ntos/build/exe中。

5 輸入檢視link -dump -all \windows\system32\hal.dll | findstr pdb不顯示結果 直接在/ws03sp1hals/x86 目錄下找到halmacpi.dll到c:\windows\system32目錄下  

6 在c:/boot.ini中的後面加上

multi(0)disk(0)rdisk(0)partition(1)\windows="windows server 2003, enterprise" /noexecute=optout /fastdetect

multi(0)disk(0)rdisk(0)partition(1)\windows="wrk v1.2" /kernel=wrkx86.exe /hal=halmacpi.dll

multi(0)disk(0)rdisk(0)partition(1)\windows="wrk v1.2" /kernel=wrkx86.exe /hal=halmacpi.dll /debug /debugport=com2 /baudrate=115200

7 先關閉虛擬機器下的winxp系統,edit virtual machine settings ----新增serial port---選擇輸出管道2 -//./pipe/com2其他預設就好

9 就建立乙個db.bat指令碼,內容是"c:\program files (x86)\debugging tools for windows\windbg.exe" -b -k com:pipe,port=\\.\pipe\com2,baud=115200,reconnect -y d:\symbols,c:\program files (x86)\debugging tools for windows\windbg.exe是windbug的路徑(主機上的)  主機上符號檔案的路徑d:\symbols,編譯wrk後,生成了乙個

wrkx86.pdb符號檔案,我們要把它複製到symbols資料夾來存放wrkx86.pdb符號檔案。

10 重啟xp 虛擬機器,重新啟動windbug,啟動指令碼 就鏈結上了 

本文參考了一些方法 也自己在機器上實驗了 可用  想核心的前輩們致敬 

wrk 編譯 設定雙機除錯

wrk版本 wrk v1.2 直接在除錯的目標虛擬機器裡編譯windows server 2003 service pack 1,複製wrk到虛擬機器中 1 將msvcp71.dll,msvcr71.dl放至wrk v1.2 tools x86路徑下 2 環境變數path設定為 set path j...

編譯及動態除錯WRK

剛開始用的vs各種不正確,最後使用先安裝windows server 2003,然後在裡面編譯wrk,成功。將wrk原始碼拷貝到windows虛擬機器中,方法很多,我這邊是通過 資料夾共享 的方式把原始碼放到c盤根目錄 c 在虛擬機器中,將 c wrk v1.2 toos x86 的路徑加到path...

讀核心除錯總結

以下內容主要學習自debug hacks一書。有關核心除錯方面的技巧,我更多的是將其對映為應用程式的除錯技巧。我覺得大部分都是執行緒間同步的問題。1.對於null指標的訪問。這個問題一般來講是比較容易確定的,一般來講就是未申請空間,或者申請空間失敗了但是沒有檢查錯誤。這個可以通過backtrace和...