日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

1 《Undocumented Windows 2000 Secrets》翻譯 --- 2

內(nèi)核調(diào)試器的命令盡管調(diào)試器的命令已經(jīng)注意了易記性,但有時總是難以回憶起它們 。因此,我把它們都整理到了附錄A中 。表A-1是其快速參考 。這個表是調(diào)試器的help信息(使用?命令)的整理版 。命令所需參數(shù)的類型匯總在表A-2 。
前面提到過,內(nèi)核調(diào)試器執(zhí)行擴展命令時需要一個!號作為開始 。只要命令前有個!號,調(diào)試器就會到已加載的擴展DLL的導(dǎo)出列表中進行查找 。如果發(fā)現(xiàn)匹配的,就會跳轉(zhuǎn)到相應(yīng)的DLL中 。圖1-7顯示了內(nèi)核調(diào)試器加載了kdextx86.dll、userkdx.dll和dbghelp.dll擴展DLL 。最后一個和i386kd.exe位于同一目錄;前兩個共有四個版本:針對Windows NT 4.0的free和checked版本(對應(yīng)子目錄為:nt4fr和nt4chk),針對Windows 2000的free和checked版本 。通常,調(diào)試器在搜尋擴展命令是會采用一個默認的搜索順序 。然而,你可以改變這個默認設(shè)置,只需要在命令前指定模塊名稱即可,采用.符號作為分隔符 。例如,kedxtx86.dll和userkdx.dll都導(dǎo)出了help命令,鍵入!help,在默認情況下,你會得到kdextx86.dll的幫助信息 。要執(zhí)行userdkx.dll的help命令,你必須輸入!userkdx.help(或者!userkdx.help –V如果你想得到更詳細的幫助信息的話) 。按照此方法,只要你知道規(guī)則,你也可以編寫自己的擴展命令 。在The NT Insider(Open Systems Resources 1999a)中你能找到很棒的how-to文章 。不過其針對的是WinDbg.exe而不是i386kd.exe,但兩者使用相同的擴展DLL,大多數(shù)信息對于i386kd.exe也是有效的 。
附錄A中的表A-3和A-4分別列出了kdextx86.dll和userkdx.dll的help命令的輸出信息 。為了便于閱讀作了些修改和整編 。你會發(fā)現(xiàn)這些表中列出的命令多于Microsoft DDK文檔中的,其中有些命令明顯有DDK文檔未提到的附加參數(shù) 。
10大調(diào)試命令
表A-1到A-4列出了內(nèi)核調(diào)試器及其標準擴展DLL提供的巨多的命令 。因此,我將討論其中一些常用命令的細節(jié) 。
u: 反編譯機器碼
在檢查crash dump是否正確時,你已經(jīng)用過了此命令,u命令有三種格式:
1.u 從地址開始反編譯8個機器碼 。
2.u 反編譯到之間的所有機器碼 。
3.u 不提供任何參數(shù)時,從上次u命令停止的位置開始反編譯 。
當然,反編譯打段代碼是十分厭煩的,但如果你只想知道在特定地址發(fā)生的事情,那這是最便捷的方法 ?;蛟Su命令最令人感興趣的特性是它可以解析代碼引用到的符號----即使是目標模塊沒有導(dǎo)出的符號 。不過,使用本書光盤中的Multi-Format Visual Disassembler反編譯完整的Windows 2000可執(zhí)行體將是十分有趣的 。在隨后章節(jié)中,會有關(guān)該產(chǎn)品的更多信息 。
db,dw和dd:Dump Memory BYTEs、Words和DWORDs
如果你當前感興趣的內(nèi)存數(shù)據(jù)是二進制的,那么調(diào)試器的16進制轉(zhuǎn)儲命令將能完成此任務(wù) 。根據(jù)你對源地址(source address)數(shù)據(jù)類型的判斷,來選擇dd(針對BYTES)、dw(針對WORDS)、dd(針對DWORDS) 。
l db 將指定內(nèi)存范圍里的數(shù)據(jù)顯示為兩個部分:左邊是16進制表示(每2個8 bit一組),右邊是對應(yīng)的ASCI碼 。
l dw 僅按照16進制顯示(16 bit一組)
l dw 僅按照16進制顯示(32 bit一組)
此組命令可以使用與u命令相同的參數(shù) 。注意,所指示的地址內(nèi)容,也會被顯示出來 。如果沒有任何參數(shù),將顯示接下來的128個字節(jié) 。
x:檢查符號
x命令非常重要 。它可以根據(jù)已安裝的符號文件創(chuàng)建一個列表 。典型的使用方式如下:
1.x *!* 顯示所有可用符號的模塊 。在啟動后,默認只有ntoskrnl.exe的符號是可用的 。其他模塊的符號可以使用.reload命令來加載 。
2.x ! 顯示模塊

推薦閱讀