西西軟件園多重安全檢測下載網站、值得信賴的軟件下載站!
西西首頁 電腦軟件 安卓軟件 電腦游戲 安卓游戲 排行榜 專題合集

WinDbg學習資料

  • WinDbg學習資料
  • 軟件大小:2.4M
  • 更新時間:2013-12-30 09:55
  • 軟件語言:中文
  • 軟件廠商:
  • 軟件類別:國產軟件 / 免費軟件 / 電子教程
  • 軟件等級:4級
  • 應用平臺:Win7
  • 官方網站:http://elephantinaurance.com
  • 應用備案:
好評:50%
壞評:50%

軟件介紹

WinDbg是微軟開發(fā)的免費源碼級調試工具。Windbg可以用于Kernel模式調試和用戶模式調試,還可以調試Dump文件。在DotNet方面WinDbg是調試分析SSCLI的最佳工具,同時可以和SOS擴展一起調試分析.net程序。最近一段時間項目需要學習了一下,有感于WinDbg功能的強大。

WinDbg資料整理:

使用WinDbg調試程序

WINDOWS調試工具很強大,但是學習使用它們并不容易。特別對于驅動開發(fā)者使用的WinDbg和KD這兩個內核調試器(CDB和NTSD是用戶態(tài)調試器)。本教程的目標是給予一個已經有其他調試工具使用經驗的開發(fā)者足夠信息,使其能通過參考WINDOWS調試工具的幫助文件進行內核調試。本文將假定開發(fā)者熟悉一般WINDOWS操作系統(tǒng)和進程的建立過程。

本文的重點是集成內核模式和用戶態(tài)模式的圖形化調試器WinDbg。KD在腳本和自動化調試中更有用,并且在資深程序員中擁有一定地位,但是本教程將集中討論WinDbg,只會偶爾提到KD。

本文討論的是Windows NT 4.0,Windows 2000或以后的版本,而且目標電腦的處理器基于X86架構。對于64位平臺,將不會特別提及。

總之,本教程由簡單介紹調試器的安裝開始,大體分成2部分,基礎知識和選擇技術;A知識包括基本調試命令和常用調試命令。選擇技術是其他命令和在很多情況下都有用的調查方法。后者并不是調查象deadlocks, memory corruption或者resource leaks的唯一方法。第一次閱讀本教程,你可能會跳過選擇技術。你可以停止閱讀本教程而轉向微軟調試器討論組,也可以通過調試器的反饋e-mai解決更多的問題。 

通往WinDbg的捷徑(一)

通往WinDbg的捷徑(二)

用WinDbg探索CLR世界1 - 安裝與環(huán)境配置

在托管代碼中設置斷點(WINDBG)

用WinDbg動態(tài)脫Reflector

使用WINDBG和SOS調試死鎖

使用Windbg和SoS擴展調試分析

幾個常用的 WinDbg 命令

Windbg核心調試之dump分析

從Ollydbg說起-----WinDbg用戶態(tài)調試教程

WinDbg使用幫助:基本調試技術:

本節(jié)包括:

使用 !analyze 擴展

設定條件斷點

將虛擬地址轉換成物理地址

追蹤處理器獨占者

從轉儲文件中提取信息

確定對象的ACL

顯示一個臨界區(qū)

調試應用故障

SOS 調試擴展 (SOS.dll)

WinDbg驅動調試攻略:

安裝完虛擬機后,請在VMware主菜單“VM”中選擇“Install VM Tools…”,完成系統(tǒng)驅動文件的安裝。

安裝完這兩個軟件后,請在VMware中安裝跟你的電腦版本相同的操作系統(tǒng)。例如:你的電腦安裝的是WindowsXP Professional,那么最好在Vmware中安裝相同版本。至少是相同的系統(tǒng),Windows XPßà Windows XP、Windows 2000ßà Windows 2000。這樣會在驅動調試過程中避免不必要的麻煩。筆者使用的操作系統(tǒng)為Windows XP Professional。

我們將使用電腦的COM1口最為調試口。

(1) 編輯虛擬機中C盤根目錄下的boot.ini文件。

C:\>attrib -s -h -r boot.ini

C:\>notepad boot.ini

在boot.ini文件中添加以下代碼:

multi(0) disk(0) rdisk(0) partition(1) \WINDOWS="Microsoft Windows XP Professional-Debug" /fastdetect /debugport=COM1 /baudrate=115200

(2) 打開vmware中winxp的設備管理器,選擇端口(com1),如下圖。

(3) 雙擊這個"com1",在彈出的對話框中,設置如下圖。

(4) 關閉vmware下的操作系統(tǒng)。配制虛擬機的硬件,VM->Settings->Add->加一個Serial Port,選擇"Output to named pipe",然后下一步,第一框里保持默認的 "\\.\pipe\com_1"

第二框里選"This end is the server."

第三框里選"The other end is an application."

選中 "Connect at power on"選中 "Yield CPU on poll"。保存退出。

(5) 回到我們的真實系統(tǒng)(主機)中,重復(2)、(3)兩步。

(6) 設置WinDbg的快捷方式,及其運行參數(shù):

 在快捷方式的屬性中,將目標(Target)改為:

"C:\Program Files\Debugging Tools for Windows\windbg.exe" -b -k com:pipe,port=\\.\pipe\com_1,resets=0

命令參數(shù)的意義:

-b:一旦主機目標機之間建立起連接,立刻中斷目標機

-k:內核調試

Com:設置連接目標機的通信端口(此處為命名管道)和波特率(此處為115200)

-y:設置符號文件路徑

(7)設置WinDbg參數(shù)

 現(xiàn)在我們假設你的驅動代碼放在D:\mydriver目錄中;系統(tǒng)級Symbol文件存放在C:\WINDOWS\Symbols目錄中,這些Symbol文件是從微軟的網站上http://msdl.microsoft.com/download/symbols下載而來,這個網址是不可以用IE直接打開的,WinDbgà Fileà Symbol File Path...界面中選擇Reload,WinDbg會自動幫你下載;驅動生成的Symbol文件存放在D:\mydriver\objchk_wxp_x86\i386目錄中。

a) 設置驅動Symbol路徑,WinDbgà Fileà Symbol File Path...為

SRV*C:\WINDOWS\Symbols*http://msdl.microsoft.com/download/symbols; D:\mydriver\objchk_wxp_x86\i386

b) 設置驅動源文件路徑,WinDbgà Fileà Source File Path…為D:\mydriver

c) 為了保險起見,我們同時設置系統(tǒng)變量。

My Computer à Properties à Advanced Tab à Enviroment Variables à Add.

_NT_DEBUG_BAUD_RATE=115200

_NT_SYMBOL_PATH=SRV*C:\WINDOWS\Symbols*http://msdl.microsoft.com/download/symbols

_NT_ALT_SYMBOL_PATH = D:\mydriver\objchk_wxp_x86\i386

_NT_SOURCE_PATH = D:\mydriver

(8)啟動VMware,將主機目錄C:\WINDOWS\Symbols下的拷貝到虛擬機的相同位置。同時請把驅動編譯后生成在D:\mydriver\objchk_wxp_x86\i386目錄下的*.pdb、*.sys、*.map、*.exp、*.lib文件一并拷貝到兩個系統(tǒng)的C:\WINDOWS\Symbols目錄中。

(9)重新啟動VMware,并選擇如圖所示。這個時候先不敲回車鍵。

(10) 在主機中運行之前設置好的WinDbg快捷方式。直到在WinDbg命令窗口中出現(xiàn)“Waiting to reconnect...”,此時打開VMware,敲回車鍵進入虛擬機。到這里所有的設置工作就全部完成了。

2.驅動安裝及調試

這里其大家注意,由于我們目前用的是虛擬機,所以安裝驅動程序的時候一定要把VMware設置到全屏狀態(tài)。

(1) 編輯你要調試的源代碼,在你需要調試的代碼中添加硬斷點。如果不添加硬斷點,將沒有辦法進入所調試的程序中。具體方法如下:

在你需要調試的程序中加入以下代碼:

extern "C" {

#include <wdm.h>

//或者是#include <winddk.h>

}//放在文件開頭

DbgBreakPoint();//放在需要調試的地方

重新編譯驅動程序,記住一定要更新把重新生成的*.pdb、*.sys、*.map、*.exp、*.lib文件一并拷貝到兩個系統(tǒng)的C:\WINDOWS\Symbols目錄中。

(2)打開VMware,Ctrl+Alt+Enter進入虛擬機全屏模式。插入需要調試設備的硬件,筆者調試的目標設備為USB。當USB插入主機后,直接由VMware識別到這個USB設備,指定驅動位置,系統(tǒng)將會在你設置硬斷點的地方停下來。這個時候你就可以回到WinDbg,進行單步調試了。你還可以在程序中添加軟斷點,“F9”或者“bp MyApp!MyFunction”。

3.兩臺電腦調試說明

兩臺電腦調試跟借助VMware調試有所不同,不同之處有以下幾個方面。

(1)需要自己制作一條Null Modem Cable. 請參考以下電路。將兩臺電腦連接起來。

管腳信息說明: 

9-Pin NULL Modem Cabling

3 2 Transmit Data

2 3 Receive Data

7 8 Request to Send

8 7 Clear to Send

6,1 4 Data Set Ready and Carrier Detect

5 5 Signal Ground

4 6,1 Data Terminal Ready

25-Pin NULL Modem Cabling

2 3 Transmit Data

3 2 Receive Data

4 5 Request to Send

5 4 Clear to Send

6 20 Data Set Ready and Carrier Detect

7 7 Signal Ground

20 6 Data Terminal Ready 

(2)WinDbg快捷方式參數(shù)設置

"C:\Program Files\Debugging Tools for Windows\windbg.exe" -b -k com:port=\\.\ com1,resets=0


軟件標簽: WinDbg

還有WinDbg用法詳解,WinDBG命令行大全.

windbg 6.12最新版下載:http://elephantinaurance.com/soft/71175.html

軟件截圖

WinDbg學習資料
WinDbg學習資料
WinDbg學習資料

其他版本下載

發(fā)表評論

昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
查看所有(0)條評論 > 字數(shù): 0/500

TOP
軟件下載