SoftICE for WIN95中文命令解說(二) (轉)

worldblog發表於2007-12-11
SoftICE for WIN95中文命令解說(二) (轉)[@more@]

 SoftICE for WIN95中文命令解說(二)
Copyright (c) 1999 ~tianwei

命令: BC
作用: 清除一個或多個斷點
語法: BC list | *
用法:
清除斷點後,用BL命令就看不到斷點列表, 且被清除的
斷點不再起作用.
引數:
list: 可以是將要清除的一系列斷點,中間用空格或逗
號隔開.
* : 清除所有的斷點.

點評: BC==Breakpoint Clearing

命令: BD
作用: 使一個或多個斷點失效
語法: BD list | *
用法:
使某個斷點失效不同與 BC 命令的清除,暫時失效的斷
點可以用 BE 命令來恢復.而 BC 命令是徹底清除.
引數:
list: 可以是單個,也可以是一系列斷點, 中間用空格
或逗號隔開.
* : 禁止所有的斷點.

點評: BD==Breakpoint Disablling

命令: BE
作用: 使一個或多個斷點恢復有效
語法: BE list | *
用法:
用來恢復前次用 BD 命令使之失效的斷點. (每當新定
義斷點或編輯斷點時,自動將其置為有效)
引數:
list: 可以是單個,也可以是一系列斷點, 中間用空格
或逗號隔開.
* : 恢復所有的斷點.

點評: BE==Breakpoint enablling

命令: BH
作用: 在SoftICE歷史中顯示或是選擇曾經設過的斷點
語法: BH
用法:
用BH命令後,SoftICE將顯示一個表,每一行是一個斷點
,都是以前使用者曾經下過的斷點, 這時可以用上下光
標鍵來定位,用INSERT鍵選擇,再用ENTER鍵來確定. 用
ESC鍵取消.SoftICE只記錄最近的32個斷點. 而且只在
WIN95正常退出後記錄(記錄到WINICE.BRK中), 這樣就
有一個問題.如果你在MSDOS.SYS中是BootGUI=1的
話(即最正常的啟動方式),當你SHUT DOWN機器時,控制
並不回到SoftICE手中,就無法記錄剛才的斷點.這時只
有改為BootGUI=0.

點評:
注意:SoftICE只在SHUT DOWN時記錄,如果你用"重新啟
動並切換...",那是不行的.至少在我的V3.20是不行的
.而且,如果你"重新啟動並切換...", 再用EXIT命令想
退回到WIN95,很容易出現VxD聯接錯.因為這樣 WINICE
並沒有完全退出,用 MEM.EXE可以看到這點.所以,
SoftICE的使用者最好在MSDOS.SYS中將上面所說的Boo
-tGUI置為0.如果怕這樣用多重配置的話還要每次開機
敲一個WIN,可以在AUTOEXEC.BAT中改動,加入WIN.COM.
(可不要在WINICE.EXE後再加WIN.COM!畫蛇添足!)
若用SoftICE次數不多的話, 可以每次啟動後,
再重新啟動並切換到MS-DOS方式,再打WINICE.EXE, 這
樣也可以的. BH的好處是,可以省去紙筆, 下次重
這個時,不用再挖空心思想斷點了.


命令: BL
作用: 顯示當前所設的斷點
語法: BL
用法:
BL 命令顯示當前所有斷點的序號 (這個序號被BC BE
BD 等命令所用),型別,是否被禁止等資訊.如果是被禁
止的斷點,會在序號後跟一個"*"號.比如用上面提到的
BD 命令會產生這種效果)

點評: BL==Breakpoint listing

命令: BMSG
作用: 在WIN95的訊息上下斷點
語法: BMSG window-handle [L] [begin-msg [end-msg ]]
[IF expression][DO "command1;command2;..."]
用法:
window-handle: 訊息發向的視窗控制程式碼
begin-msg : 訊息標識字的範圍,如果沒有end-msg
,那麼只在begin-msg上下斷點, 否則
在區域內所有訊息都會被下斷點
end-msg : 見上.
IF-expression: 的值為真時,SoftICE才彈出.
DO "command1;command2;...":
當到達斷點時,的一系列SoftICE
命令.
L : 表示不彈出SoftICE,而是在命令視窗
中記錄WIN95訊息.

上面只有視窗控制程式碼是必需的,其他都是可選項. 如果沒
有指定在哪個MSG上下斷點, 那麼所有發向該視窗的消
息都會被攔截.視窗控制程式碼可以用HWND命令來觀看,MSG標
識符可以用 WMSG 命令來察看,可以是16進位制的數, 也
可以用習慣的書寫方式,如:WM_CREATE.SoftICE彈出後
,會停在處理該訊息的過程的第一句程式碼上.

點評:
BMSG=(set)Breakpoint on MeSsaGe
WINDOWS本身是由訊息的, 所以跟蹤一個訊息會得
到相當底層的答案,我主頁上一篇"修改RICHWIN4.3"的
文章就是一個例子.


命令: BPE
作用: 編輯一個已存在的斷點.
語法: BPE index_number
用法:
index_number: 斷點的序號,用 BL 命令可以看到.
用BPE命令可以很方便地修改一個已經存在的斷點, 但
要注意一點: BPE 在執行時,會先將你所要修改的斷點
清除,然後再將改過的使能,如果你在修改時按ESC鍵退
出修改,那麼原先的斷點也就不存在了, 修改錯誤的結
果也是一樣的.原先的斷點消失.

點評: 參見後面的 BPT 命令.


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-991305/,如需轉載,請註明出處,否則將追究法律責任。

相關文章