Windbg是在windows平臺下,強(qiáng)大的用戶態(tài)和內(nèi)核態(tài)調(diào)試工具。相比較于Visual Studio,它是一個(gè)輕量級的調(diào)試工具,所謂輕量級指的是它的安裝文件大小較小,但是其調(diào)試功能,卻比VS更為強(qiáng)大。它的另外一個(gè)用途是可以用來分析dump數(shù)據(jù)。
WinDbg軟件特色
1.Windbg是Microsoft公司免費(fèi)調(diào)試器調(diào)試集合中的GUI的調(diào)試器,支持Source和Assembly兩種模式的調(diào)試。
2.Windbg不僅可以調(diào)試應(yīng)用程序,還可以進(jìn)行Kernel Debug。
3.結(jié)合Microsoft的Symbol Server,可以獲取系統(tǒng)符號文件,便于應(yīng)用程序和內(nèi)核的調(diào)試。
4.Windbg支持的平臺包括X86、IA64、AMD64。
WinDbg窗口名稱與用途
WinDbg常用指令介紹
F9:設(shè)置斷點(diǎn),只要在光標(biāo)定位的位置(上圖中灰色條)按F9鍵即可,再按一次F9鍵則會(huì)刪除斷點(diǎn)。(相當(dāng)于OllyDbg 中的 F2)
F10:單步步過。每按一次這個(gè)鍵執(zhí)行一條反匯編窗口中的一條指令,遇到 CALL 等子程序不進(jìn)入其代碼。(相當(dāng)于 OllyDbg中的 F8)
F8 or F11:單步步入。功能同單步步過(F10)類似,區(qū)別是遇到 CALL 等子程序時(shí)會(huì)進(jìn)入其中,進(jìn)入后首先會(huì)停留在子程序的第一條指令上。(相當(dāng)于 OllyDbg 中的 F7)
F7:運(yùn)行到選定位置。作用就是直接運(yùn)行到光標(biāo)所在位置處暫停。(相當(dāng)于 OllyDbg 中的 F4)
Shift+F11:運(yùn)行到跳出函數(shù)。
F5:運(yùn)行。按下這個(gè)鍵如果沒有設(shè)置相應(yīng)斷點(diǎn)的話,被調(diào)試的程序?qū)⒅苯娱_始運(yùn)行。(相當(dāng)于 OllyDbg 中的 F9)
WinDbg注意事項(xiàng)
在彈出需要的窗口后,就可以對窗口進(jìn)行排列。通過鼠標(biāo)拖曳窗口或結(jié)合右擊窗口標(biāo)題選擇Dock(停靠)和Always floating(保持浮動(dòng)),可以把窗口擺放成最適合我們工作的位置。