WinDbg
WinDbg
Windbg是在windows平台下,強大的用戶態和內核態調試工具。相比較於Visual Studio,它是一個輕量級的調試工具,所謂輕量級指的是它的安裝文件大小較小,但是其調試功能,卻比VS更為強大。它的另外一個用途是可以用來分析dump數據。
Windbg是Microsoft公司免費調試器調試集合中的GUI的調試器,支持Source和Assembly兩種模式的調試。Windbg不僅可以調試應用程序,還可以進行Kernel Debug。結合Microsoft的Symbol Server,可以獲取系統符號文件,便於應用程序和內核的調試。Windbg支持的平台包括X86、IA64、AMD64。
雖然windbg也提供圖形界面操作,但它最強大的地方還是有著強大的調試命令,一般情況會結合GUI和命令行進行操作,常用的視圖有:局部變數、全局變數、調用棧、線程、命令、寄存器、白板等。其中“命令”視圖是默認打開的。
初學者可以通過熟悉一些常用的調試命令開始,下面簡單介紹常用的命令:
查看版本信息:version、vertarget
查看模塊信息:lm、!dlls、!lmvi等
調用棧:用k命令顯示調用棧,用.frames命令切換棧幀
內存操作:讀內存用d命令,寫內存用e命令
自動分析:!analyze、!owner等
符號命令:.reload載入符號, .sympath設置符號路徑, !sym設置符號選項
進程線程:!process顯示進程信息; .process顯示當前進程,或用.process /i 切換當前進程;!peb顯示進程環境塊內容;~命令顯示線程列表,用~ n s可切換當前線程, n表示線程號;.thread顯示當前線程。