Windbg中文版是一款強大的內(nèi)核態(tài)調(diào)試工具,Windbg具有豐富的調(diào)試功能,包括內(nèi)核級和用戶級調(diào)試功能。它可以與各種調(diào)試目標(biāo)(如本地或遠程計算機、虛擬機等)進行連接,并通過各種調(diào)試技術(shù)(如符號調(diào)試、內(nèi)存轉(zhuǎn)儲分析等)提供詳細的調(diào)試信息。Windbg提供了多種命令和擴展,用于檢查內(nèi)存狀態(tài)、查看寄存器值、跟蹤程序執(zhí)行流程等。
Windbg中文版使用方法
配置
Windbg在使用前,需要進行配置。
1.1環(huán)境變量
1、添加環(huán)境變量:_NT_SYMBOL_PATH
2、環(huán)境變量值:
C:\MyCodesSymbols;SRV*C:\MyLocalSymbols*http://msdl.microsoft.com/download/symbols
環(huán)境變量配置
3、根據(jù)環(huán)境變量值,在C盤下新建文件夾:MyCodesSymbols,MyLocalSymbols這兩個文件夾主要存放windows的符號文件,也就是系統(tǒng)默認(rèn)的一些pdb文件,這些文件不是系統(tǒng)自帶的,需要配置好鏈接,第一次調(diào)試的時候windbg默認(rèn)下載需要的缺失的symbol文件。
pdb 下載的文件
Windbg工具配置
符號配置Symbol File Path
C:\MyCodesSymbols;SRV*C:\MyLocalSymbols*http://msdl.microsoft.com/download/symbols
符號配置
源碼路徑配置Source File Path
工具不會智能定位到相應(yīng)的源碼,所以要配置你的源碼工程的路徑,是工程文件(例如這種格式的文件:*.vcxproj)所在的路徑。
源碼配置1
源碼位置
編譯器配置
支持VC6以上的Visual Studio編譯器,設(shè)置相關(guān)的屬性
禁止優(yōu)化項:
禁止優(yōu)化項1
禁止優(yōu)化項2
生成程序數(shù)據(jù)庫文件
pdb 文件
使用
工具進行使用前配置后,可以進行工作了。這里介紹綁定進程進行調(diào)試的操作步驟。
綁定進程
注意,進程要先啟動再進行綁定設(shè)置,因為Attach to Process窗口不會像任務(wù)管理器一樣實時刷新進程。選中進程名稱,點擊Ok確認(rèn)。
綁定進程
調(diào)試
綁定進程后,可以在命令窗口輸入g字母命令,然后回車?;蛘哂每旖萱IF5。即可在調(diào)試中運行進程了。注意:須要pdb文件,和exe或dll放在一起,或者上文提到的把pdb文件放在C:\MyCodesSymbols目錄。因為調(diào)試信息都是根據(jù)pdb的文件時間戳進行定位歷史文件的,所以在發(fā)布版本后,最好備份一下代碼和文件。否則版本發(fā)出去了,原生源碼進行編譯了,pdb不一樣了,源碼被修改了,那么抓取到的*.dmp內(nèi)存映像就不能準(zhǔn)確地調(diào)試。
程序被windbg綁定后,F(xiàn)5運行,現(xiàn)在可以正常操作軟件了。這時候軟件有異常,命令窗口會打印相關(guān)的異常命令,如下圖:
Access violation–code c0000005 (first chance)
調(diào)試
這種是典型的內(nèi)存禁止訪問異常。輸入小寫字母k命令,即可打印堆棧。左窗口也是相應(yīng)的源碼,像vs那樣調(diào)試。工具欄上有很多調(diào)試窗口可以展示出來:
調(diào)試工具欄
如局部變量數(shù)據(jù)展示窗口:Locals
變量展示窗口
命令
除了基本的可視化調(diào)試之外,windbg支持命令進行其他的內(nèi)核調(diào)試,可以根據(jù)實際需要進行使用,下面簡單介紹常用的命令:
1、查看版本信息:version、vertarget。
2、查看模塊信息:lm、!dlls、!lmvi等。
3、調(diào)用棧:用k命令顯示調(diào)用棧,用.frames命令切換棧幀。
4、內(nèi)存操作:讀內(nèi)存用d命令,寫內(nèi)存用e命令。
5、自動分析:!analyze、!owner等。
6、符號命令:.reload加載符號, .sympath設(shè)置符號路徑, !sym設(shè)置符號選項。
7、進程線程:!process顯示進程信息;.process顯示當(dāng)前進程,或用.process /i切換當(dāng)前進程;!peb顯示進程環(huán)境塊內(nèi)容;~命令顯示線程列表,用~n s可切換當(dāng)前線程,n表示線程號;.thread顯示當(dāng)前線程。
分析dmp文件
Windbg是調(diào)試的利器,可以綁定進程進行調(diào)試,也可以調(diào)試進程的內(nèi)存映像*.dmp文件,一般是進程崩潰后系統(tǒng)產(chǎn)生的dmp文件,或者程序try catch用代碼生成的dmp文件。分析dmp文件,也大致上以上步驟,只不過上面是綁定文件,這個是打開dmp文件而已。
打開 dump 文件
擴展
綁定進程,調(diào)試dmp文件,當(dāng)然除了windbg之外,還可以直接用vs編譯器,這是最好不過的事,只是vs編譯器體積實在太大了,沒有windbg小巧方便。
windbg中文版軟件特色
1.Windbg是Microsoft公司免費調(diào)試器調(diào)試集合中的GUI的調(diào)試器,支持Source和Assembly兩種模式的調(diào)試。
2.Windbg不僅可以調(diào)試應(yīng)用程序,還可以進行Kernel Debug。
3.結(jié)合Microsoft的Symbol Server,可以獲取系統(tǒng)符號文件,便于應(yīng)用程序和內(nèi)核的調(diào)試。
4.Windbg支持的平臺包括X86、IA64、AMD64。
上一篇:幫我吧服務(wù)管理平臺
下一篇:PhotoZoom最新版