亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SoftICE for WIN95中文命令解說(八)

互聯(lián)網(wǎng)   發(fā)布時間:2008-10-08 22:12:52   作者:佚名   我要評論
SoftICE for WIN95中文命令解說(八) Copyright (c) 1999 http://coobe.cs.hn.cninfo.net/~tianwei 命令: I1HERE 作用: 遇到內(nèi)嵌的INT 1指令時激活SoftICE 語法: I1HERE [on | off] 用法: I1HERE 命令使SoftICE在遇到程序中內(nèi)嵌的INT 1指令時彈出.I1HERE在調(diào)試
SoftICE for WIN95中文命令解說(八) Copyright (c) 1999 http://coobe.cs.hn.cninfo.net/~tianwei 命令: I1HERE 作用: 遇到內(nèi)嵌的INT 1指令時激活SoftICE 語法: I1HERE [on | off] 用法: I1HERE 命令使SoftICE在遇到程序中內(nèi)嵌的INT 1指令時彈出.I1HERE在調(diào)試程序時需在某處暫停時特別有用.在SoftICE彈出之前, SoftICE會檢查當前是否有一條INT 1指令在程序中.如果沒有的話,SoftICE將不彈出.在程序要暫停的指令之前加一句INT 1 就能做到這一點.SoftICE彈出時,EIP 會停在INT 1的下一條指令后.I1HERE 不帶參數(shù)將顯示當前I1HERE的狀態(tài).缺省為OFFI1HERE 在與如BoundsChecker 之類的調(diào)試工具分工協(xié)作時很有用,因為BoundsChecker用到 INT 3,為了防止沖突應(yīng)使用INT 1. 另外,VMM,Windows內(nèi)存管理的VxD,在Windows出現(xiàn)某些嚴重錯誤時會在嚴重錯誤返回前執(zhí)行一個INT 1指令.如果此時I1HERE 為ON時, 你就能跟蹤這類錯誤. 如由VMM因換頁錯誤而產(chǎn)生INT 1 時寄存器的值如下:.EAX = 錯誤地址..ESI 指向一個ASCII字符串(信息)..EBP 指向一個CRS(在DDK的VMM.INC中定義的客戶寄 存器結(jié)構(gòu)) 點評: 基礎(chǔ)信息: INT 1 實際上是單步中斷的處理例程. CPU在檢測到 TP 標志為1時(TP是由DEBUGGER設(shè)的), 就自動進行這一例程. DEBUGGER 們掛接這個中斷例程進行一些諸如顯示當前寄存器值等操作,并等待用戶進一步的指令. 在程序中直接用 INT 1指令也能達到效果.SoftICE不象DOS下的DEBUG.EXE,一碰到 INT 1 就中斷,缺省是不中斷的,只有當I1HERE 為 ON 時才中斷. 命令: I3HERE 作用: 在遇到INT 3 指令時激活SoftICE 語法: I3HERE [on | off] 用法: I3HERE ON 將使SoftICE每碰到一個 INT 3 時都彈出,這在調(diào)試程序時需要在某處暫停特別有用.在你需要暫停的指令之前加一個INT 3 就行.如果你是編 WINDOWS程序,加個函數(shù) DebugBreak(). 這個函數(shù)也執(zhí)行一個INT 3.I3HERE 不帶參數(shù)將顯示當前狀態(tài).請參見I1HERE. 點評: 基礎(chǔ)信息: INT 3 是斷點中斷處理例程.也被DEBUGGER們掛接,顯示寄存器值,給出一些信息,并等待用戶下一步操作. DEBUGGER在下斷點時,將斷點處的指令替換成INT 3,把替換下的指令保存,在執(zhí)行完例程后再恢復原先保存的指令,修改堆棧中的斷點地址, 使程序得以繼續(xù). DOS下的老DEBUG.EXE當遇到程序中的INT 3 指令時會進行同樣的操作,也修改堆棧中的斷點地址,所以IP又停在那條INT 3 上, 如果你打入 G ,程序?qū)⒁恢蓖T诖颂?這時改一下IP就可以了. 命令: IDT 作用: 顯示中斷描述符表 語法: IDT [interrupt-number] 用法: interrupt-number: 所要顯示的中斷號IDT 命令讀取中斷描述符表寄存器的值, 獲得表基址,然后顯示中斷描述符表的內(nèi)容.IDT 命令不帶參數(shù)將顯示所有中斷的情況,如果帶中斷號, 則只顯示相應(yīng)的入口. 輸出參數(shù)如下:interrupt number: 0-05fh的中斷號.interrupt type : 中斷類型如下: --------------------- CallG32: 32位調(diào)用門. CallG16: 16位調(diào)用門. TaskG: 任務(wù)門. TrapG16: 16位陷肼門. TrapG32: 32位陷肼門. IntG32: 32位中斷門. IntG16: 16位中斷門. ---------------------address : (選擇符:偏移量)形式的地址.selector's DPL : 選擇符的描述符特權(quán)級,0,1,2,3present bit : P 或 NP, 表示該描述符是否在內(nèi) 存中.Owner Offset : 符號名或擁有者名,和在它們中的 偏移. 點評: 參見GDT,LDT. 命令: LDT 作用: 顯示局部描述符表 語法: LDT [selector] 用法: selector: 指定LDT 選擇符LDT 命令將顯示局部描述符表的內(nèi)容. SoftICE先讀取局部描述符表寄存器的值,再定位描述符表. 如果局部描述符表不存在,會顯示一個錯誤信息. 如果指定選擇符,則只顯示該選擇符所指向的描述符. 如果指定的選擇符是一個全局選擇符, 則SoftICE將自動顯示該全局選擇符所指的描述符.輸出:LDT 的線性基址和長度將顯示在輸出數(shù)據(jù)的頂行輸出數(shù)據(jù)的每一行內(nèi)容的說明:value: 最低兩位即描述符特權(quán)級type : 描述符類型,如下: --------------------------- Code16 : 16位代碼描述符 Data16 : 16位數(shù)據(jù)描述符 Code32 : 32位代碼描述符 Data32 : 32位數(shù)據(jù)描述符 CallG32: 32位調(diào)用門描述符 CallG16: 16位調(diào)用門描述符 TaskG32: 32位任務(wù)門描述符 TaskG16: 16位任務(wù)門描述符 TrapG32: 32位陷肼門描述符 TrapG16: 16位陷肼門描述符 IntG32 : 32位中斷門描述符 IntG16 : 16位中斷門描述符 Reserved: 保留的描述符 --------------------------- base : 描述符中的段基址limit : 描述符中的段界限D(zhuǎn)PL : 描述符特權(quán)級,0,1,2,3present bit: P 或 NP 表示該段是否在內(nèi)存中segment attributes: 段特性: --------------------------- RW: 數(shù)據(jù)段可讀寫 RO: 數(shù)據(jù)段只讀 RE: 代碼段可讀可執(zhí)行 EO: 代碼段只可執(zhí)行 B : TSS(任務(wù)狀態(tài)段)忙置位 --------------------------- 點評: 這段翻譯并不完全用PDF手冊上的.如"selector" 原指選擇符(器),用來指向描述符表中的描述符,而PDF手冊中type 的說明全用到 selector. 說的意思雖是一樣,但和別的文獻矛盾,故認為不妥,將其翻譯成descriptor即描述符. 實際上可以看出,一個選擇符指向一個描述符,兩者是一致的. 描述符類型實際上也就是指向它的選擇符類型. 命令: LHEAP 作用: 顯示W(wǎng)indows 局部堆 語法: LHEAP [selector | module-name] 用法: selector : 局部描述符表數(shù)據(jù)選擇符.module-name: 16位 模塊名.LHEAP 顯示W(wǎng)indows程序在全局堆中申請的數(shù)據(jù)信息.如果不跟選擇符參數(shù),當前的DS 寄存器的內(nèi)容(數(shù)據(jù)選擇符)被做為缺省值. 用前次說過的 HEAP 命令找標有LH 的選擇符來做為LHEAP的參數(shù).如果用module-name 做參數(shù),則SoftICE用此模塊的缺省數(shù)據(jù)段進行堆遍歷.輸出:offset: 16位的偏移量(相對于相應(yīng)的選擇符基址)size : 堆入口(每個組成部分)的字節(jié)大小.type : 類型如下: --------------------- FIX : 固定的. MOV : 可移動的. FREE: 空閑的. ---------------------handle: 相應(yīng)的句柄.對固定的堆組成部分來說, 此值 和offset 相等,且是由 LocalAlloc()返回的. 對于可移動的組成部分來說,此值將會被做為 LocalLock()的參數(shù). 點評: 無.(天氣好熱!翻譯得好累!) 命令: LINES 作用: 改變SoftICE窗口的顯示行數(shù) 語法: LINES [25 | 43 | 50 | 60] 用法: LINES 命令用來改變SoftICE窗口的顯示行數(shù). 默認為25行.可以有:25 行;43 行;50 行;60 行;43,50,60行只適用于VGA卡.LINES 不帶參數(shù)將顯示當前行數(shù).如果用 ALTSCR 命令切換顯示器輸出到單顯,SoftICE自動轉(zhuǎn)為25行,再轉(zhuǎn)回VGA卡時要手工用 LINES 命令來恢復原值. 點評: 實際上, 我的3.20用的是SoftICE自帶的通用視頻驅(qū)動程序,行范圍可以從25一直到128 !!(除非為SoftICE開的顯存不夠) 命令: LOCALS 作用: 從當前棧中列出局部變量 語法: LOCALS 用法: 輸出:Stack Offset : 棧偏移.Type definition: 類型定義.Value,Data,or structure symbol({...}) : 值,數(shù)據(jù),或結(jié)構(gòu)符號.SoftICE根據(jù)局部變量的類型來用不同的形式顯示它們,如果是指針,則顯示所指向的數(shù)據(jù).如果是結(jié)構(gòu),則顯示結(jié)構(gòu)符號.如果既不是指針,又不是結(jié)構(gòu),則顯示本身值. 點評: 無.

相關(guān)文章

最新評論