Posted on 2009-03-30 22:34
S.l.e!ep.¢% 閱讀(2178)
評論(0) 編輯 收藏 引用 所屬分類:
WinDbg
Windows內核調試:符號文件和Windbg的安裝與環境配置2008-05-16 23:26flyingstarsoul2007-9-21
?????? 內核調試:內核調試可以幫助我們查看內核的內部數據結構,跟蹤內核中的函數,從而探查Windows的內部機理。內核調試工具有Microsoft的Windows調試工具箱、Compuware NuMega的SoftIce、
www.sysinternals.com上的LiveKD等等。?????? 內核調試所需的符號文件:符號文件包含了函數和變量的名稱,由鏈接器產生,在調試過程中被用來引用和顯示這些名稱。為了使用任何一個內核調試工具來查看內核數據結構,必須首先至少獲得內核映像Ntoskrnl.exe的正確的符號文件,即二者版本完全匹配。利用Microsoft的按需符號服務器,可以得到當前調試所需的正確版本,首先需要設置環境變量來指定符號文件的路徑。假如你想把符號文件存放在C:\WINDOWS\Symbols目錄下,環境變量設置如下:系統環境變量名:_NT_SYMBOL_PATH 本例變量值:srv*C:\WINDOWS\Symbols*http://msdl.microsoft.com/download/symbols其中,
http://msdl.microsoft.com/download/symbols是Microsoft符號服務器。當運行內核調試器并在需要符號文件的時候,將連接到該服務器下載正確的符號文件。可以下載工具 LiveKD放到Windbg(見下文)安裝目錄下,第一次在命令行運行Livekd.exe,將會自動下載符號文件到指定的目錄(耗時長,勿關閉命令行窗口,否則可能出現錯誤,導致符號文件不能正常使用)。Microsoft Windows調試工具箱:有命令行版本(KD.exe)和圖形界面版本(Windbg.exe),可以到
http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx下載。有三種類型的內核調試類型:????????? 打開一個崩潰轉儲文件。當Windows系統崩潰的時候會產生這樣的文件。????????? 連接到一個正在運行的系統上,檢查該系統的狀態或設置斷點來調試設備驅動程序代碼。一般要求有兩臺計算機——目標計算機(被調試系統)和控制主機(運行調試器),本機+虛擬機調試亦可。操作細節超出本文范圍。????????? 對于Windows XP和Windows Server2003,可以連接到本地系統上來查看系統狀態,稱為本地內核調試。方法是:安裝Windbg后,選擇“File”菜單的“Kernel Debug”菜單項,再點擊“Local”標簽,再點“OK”按鈕。在本地內核調試模式下,有些命令不能正常工作(如查看內核棧、用.dump命令創建一個內存轉儲)。當基本的本地內核調試功能不能工作的時候,可以用
www.sysinternals.com上的免費工具LiveKD.exe。 參考文獻:[1] 深入解析Windows操作系統(第4版),2007.[2]
http://www.microsoft.com.