SoftIce 使用手冊 2 來源:Chi-hao Tseng |
第 二 章 開始使用 Soft-ICE
§2.1 磁片
Soft-ICE 是在 5 1/4" 或 3 1/2" 的磁片上。
當你執行 Soft-ICE 時,螢幕上會顯示這份拷貝的所有人的姓名以防止軟體的盜
拷。為了您的方便,Soft-ICE 的磁片上並沒有設置防拷。為了我們的方便,我們感
激您對我們版權聲明的尊重。只有當母片損壞時才能使用拷貝的副本。
Soft-ICE 的目錄下將包含下列檔案:
S-ICE.EXE S-ICE.DAT LDR.EXE MSYM.EXE
EMMSETUP.EXE UPTIME.EXE README.SI SAMPLE.EXE
SAMPLE.ASM SAMPLE.SYM
S-ICE.EXE 是 Soft-ICE 的程式。
S-ICE.DAT 是設定 Soft-ICE 的檔案。
LDR.EXE 是 Soft-ICE 的程式,也是符號檔的載入器。
MSYM.EXE 是 Soft-ICE 符號檔的製造程式。
EMMSETUP.EXE 用來設定系統如何使用擴充記憶體。
UPTIME.EXE 將時間設為真實模式下的時鐘。
README.SI 包括有關 Soft-ICE 但未出現在手冊中之資料。
SAMPLE.EXE 是個在課程中使用到的展示程式。
SAMPLE.ASM 是展示程式的組合語言程式碼。
SAMPLE.SYM 是展示程式的符號檔。
§2.2 載入 Soft-ICE
使用 Soft-ICE 之前先把磁片上所有檔案拷進硬碟中,這些檔案必需放在 DOS
可以存取的目錄中。
Soft-ICE 可以當做驅動程式由 CONFIG.SYS 中載入或直接在命令列下執行。
Soft-ICE 有許多功能必需由 CONFIG.SYS 中載入才能使用。
〔註〕如果你沒有延伸記憶體,就不能由 CONFIG.SYS 中載入 Soft-ICE 。此時你必
需在 DOS 提示符號下執行它。
§2.2.1 沒有延伸記憶體的載入法
沒有延伸記憶體時,Soft-ICE 會儘可能的載入較高的記憶體位址。Soft-ICE
使用的記憶體將會消失,使 DOS 程式無法找到它。既然在載入 Soft-ICE 後 DOS
下的可見之記憶體變少了,建議您最好在其它常駐或控制程式之前先載入 Soft-
ICE 。沒有延伸記憶體時,你只需要在 DOS 下輸入:S-ICE 即可。
§2.2.2 以延伸記憶體來載入 Soft-ICE
要以延伸記憶體來載入 Soft-ICE 可以用下列二種方法之一:
1.由 CONFIG.SYS 中載入:如果你想使用下列功能時,你必需以此方法載
Soft-ICE 。
* 和其它使用 ROM BIOS 的程式共用記憶體。(像:VDISK.SYS 、
RAMDRIVE.SYS 、HIMEM.SYS 、CACHE 程式等。)
* 使用 Soft-ICE EMM 4.0 的功能。
* 使用 Soft-ICE 做符號或原始程式碼層次的除錯。
* 使用 back trace ranges 。
* 和其它 Nu-Mega 產品一起使用。像:MagicCV 。
由 CONFIG.SYS 中載入時,Soft-ICE 會為自己和它的相關部份在延伸記
憶體中配置一塊記憶體,如此才不會發生記憶體衝突。Soft-ICE 必需在
其它會配置延伸記憶體的程式載入前載入。一般而言,Soft-ICE 最好是
CONFIG.SYS 中第一個載入的驅動程式。對剛使用 Soft-ICE 的人來說,
用以下敘述把 Soft-ICE 當成是 CONFIG.SYS 中第一個載入的程式事明
智的: DEVICE = drice:\path\S-ICE.EXE /SYM 50
drive 和 path 代表 Soft-ICE 所在的磁碟和路徑。這敘述會在系統開始
時載入 Soft-ICE 且在課程中也適用。然而這樣並沒有啟動 Soft-ICE
一些有用的功能,像 EMM 4.0 。你可以在你更有經驗後重新設定 Soft-
ICE 以啟用這些功能。如果你已經有使用 Soft-ICE 的經驗或想立刻使用
這些功能,請參閱第六章 --- Soft-ICE 初始狀態的選擇。
〔注意〕在你的系統上初次載入任何新的驅動程式時準備一張可以開機
的磁片才是明智的。這是用來防止現在的設定和你的系統不相
容的不幸事故。
2.直接在 DOS 的提示符號下輸入 S-ICE 來執行 Soft-ICE 。載入前 Soft-
ICE 會顯示載入的訊息和提示符號。如果不想出現這提示符號,在
S-ICE.DAT 中加入 EXTENDED 。查閱 §6.4 以獲得更多有關
S-ICE.DAT 的資訊。以這個方法載入 Soft-ICE 時,Soft-ICE 會自動載
入延伸記憶體的最高處,不管是否有東西已經在那兒。如果你確定沒有
其它程式使用延伸記憶體,這種載入法是可接受的。以此方法載入時,
Soft-ICE 完全不佔主記憶體。
〔註〕由命令列載入 Soft-ICE 時,你無法使用 Soft-ICE 的全部功能
。如果你想把 Soft-ICE 當獨立的除錯器使用,建議您從
CONFIG.SYS 中載入 Soft-ICE 。
如果你必把 Soft-ICE 當驅動程式載入,但不想 Soft-ICE 永遠存在,你應
在載入時加上 /UN 參數。查閱 §6.3.1 以取得更多資訊。
§2.2.3 把 Soft-ICE 設定成定製載入
你可以從 CONFIG.SYS 中以參數或用 Soft-ICE 的初狀態檔 S-ICE.DAT 來定
製 Soft-ICE 。CONFIG.SYS 中的參數設定讓你可以設定 Soft-ICE 如何使用延伸
記憶體。S-ICE.DAT 讓你設定功能鍵和定義自動啟始字串。自動啟始字串是用來
載入一串每次載入 Soft-ICE 要做的命令。參閱第六章以取得更多資訊。
§2.3 解除 Soft-ICE 的常駐
偶爾你可能會需要解除 Soft-ICE 的常駐。典型的例子是為了要執行 80286 或
80386 保護模式程式而需要解除 Soft-ICE 。要解除 Soft-ICE ,打入:S-ICE /U
。
這個命令會把機器切回真實位址模式。如果 Soft-ICE 是由 CONFIG.SYS 中載
入的,則解除後記憶體仍不能被其它程式使用。如果 Soft-ICE 從命令列載入的,
則解除後會釋放記憶體。
〔注意〕如果你的系統有任何 backfilled memory 或擴充記憶體正被使用,解
除 Soft-ICE 會使系統當掉。
§2.4 重新載入 Soft-ICE
即使 Soft-ICE 一開始是從 CONFIG.SYS 中載入的,也可以在任何時候重新載
入。如果 Soft-ICE 是由 CONFIG.SYS 中載入的,那原先載入時的設定依然有效。
要重新載入 Soft-ICE ,輸入:S-ICE 。