SOFTICE 使用说明 第 一 章 
[介绍] 1.1 本程式的功能 
1.2 使用手册 
1.3 系统需求 
1.1 本程式的功能 
---------------- 
Soft-ICE 是一个软体除错工具。可是它拥有相当於硬体侦错器(hardware-level)的能力, 使它能凌驾於 DOS 一般的除错程式之上。 
Soft-ICE 使用 386 的虚拟 86 模式(virtual 86 mode) 将 DOS 所有程式摆在 一个虚拟机器 (Virtual Machine) 上, 使得 Soft-ICE 可以完全控制 DOS 的环境。 
Soft-ICE 使用 80386 保护模式的特色, 
像是 paging、I/O privilege level 和 break point register,加'硬体侦错器'中断指示著你存在的DOS 除错程式. 
我们设计 Soft-ICE 时有三个目标: 
1. 利用这 80386 实际上的机器潜在能力 去侦错未来的东东 那个是不可能的 或以缓慢 仅软体的除错程式 是禁止的.即时的'硬体侦错器'中断点,记忆体保护,中断跳出程式 , 等等. 
2. 和现有侦错器的使用方式相容。我们想要提供一个工具 -- 它的使用方式和现有侦错器的使用方式相同, 可是它却拥有硬体除错器的能力。如此使用者就可以省去不必要学习的时间, 而得到有力的工具。 
3. 是一个拥有友善使用者介面 (user-friendly) 的程式。由於 Soft-ICE 的视窗可以自由移动, 和变换大小, 所以即使一些资讯被档在视窗底下, 只要经过移动和变换大小, 也可以被使用者看到, 另外动态的线上辅助功能, 使得你偶而才用一次 Soft-ICE 也不会感到困扰.... 
Soft-ICE 的特色: 
* 可设定某记忆体在读/写时、I/O 埠在读/写时、到达某块记忆体范围, 或是某插断 
发生时, 立即中断回到 Soft-ICE。 
* 反向追踪程式。 
* 原始程式的侦错。 
* 可以和其它侦错器同时侦错程式。 
* 完全支援 EMM 4.0 (expand memory manager)。 
* 如果是单色萤幕, 则可以自动将 Soft-ICE 放在 640 KB 主记忆体以外的空间。 
* 本程式可在任何时刻呼叫出来。 
* 即使键盘插断被改, 本程式还是可以呼叫出来。 
* 本程式实际是放在另一虚拟机器上, 这麽做是为了怕其它程式刻意的更改或摧毁 Soft-ICE 的程式码。所以即使 DOS 当掉了, Soft-ICE 能仍正常 的工作。(注1.) 
* 如果你的电脑拥有超过 640 KB 的记忆体, 则 Soft-ICE 将不会占用低於 640 KB 的传统记忆体。 
* 亲合力极强的动态线上帮助。 
* 本程式像是一个真正独立於电脑外的硬体侦错器。这代表你可以侦错任何一个设备驱动程式(.sys), 这是传统的除错程式所不及的。 
* 甚至可以对 DOS 不相容或可以自我开机的程式除错。 
* 安装相当简单。 你根本不用调任何一个 DIP 开关, 而且本程式也不会占用任何一个 I/O 埠, 更不会跟任何一块记忆体相冲。 
附注: 
Soft-ICE 是使用真实的位址(segment:offset) 来定址,而不是使用 286 和 386 的定址方式来定址。 
1.2 使用手册 
------------ 
[ Soft-ICE 的手册有四个主要部份 ] 
(第一节) 学习如何使用 Soft-ICE 
(第二节) 各种命令的说明 
(第三节) 所支援的特性 
(第四节) 进阶的主题 
第一节讨论使用本程式侦错时最常遇到的问题。在本节中我们也安插了一个小实验。 
"学习Soft-ICE" ,和一个小的实验, 
Soft-ICE据有亲和力的线上辅助能被使用於参考命令叙述与语法.这”学习 Soft-ICE”部分包含安装指示,一个使用者介面的叙述与教导.这教导被设计把你自身执行的更快速. 
”命令”部分叙述所有这 Soft-ICE 命令.这命令叙述被方程式群团结成组织以一个alphabetic索引备考. 
”支援赋与著特点”部分盖先进的装载选择,象徵的与来源同水准除错,与 EMM 4.0可能性. 
”先进的主题”部分主题,诸如:使用 Soft-ICE 以 DOS loadable 驱动器与使用Soft-ICE 在非Dos作业系统. 
遍及在这手册,在这些教导和这些命令部分,当你读这些指定的资料.像是已给你那些你需要的 Soft-ICE 资料. 
4 
”ENTER”一个键,如下这键,你将按下这键标示. 
当这说明告诉你去”ENTER”一个片语,诸如:WIN,你将键入这指定的字元,然後按ENTER键. 
1.3系统需求 
Soft-ICE 工作在 IBM系列Model 70与80 Compaq 80386与 80386SX 电脑, AT级相容品 与 80386 微处理器 . 
假如他们是AT相容品 Soft-ICE 将只工作在 80386 XT 微处理器 . Soft-ICE 工作最好在延伸记忆体,但以传统的记忆系统工作也好. 
Soft-ICE ,为它的影像输出和 keystroke输入不使用 DOS或 ROMBIOS. 
所以影像以下列的模式必定会相容的: 
MDA, 
Hercules, 
CGA, 
EGA, 
or VGA. 
Soft-ICE 同时也有支援 双萤幕结构,当除错videointensive程式可能是有帮助的. 
注1. 
PS.(这就是 VM86 mode 的优先权多工, 利害之处 ) 
SOFTICE 使用说明 第 二 章 
[介绍] 
2.1 磁片内容 
2.2 载入 Soft-ICE 
2.2.1 无 Extended Memory 时的载入方法 
2.2.2 有 Extended Memory 时的载入方法 
2.2.3 如何调整 Soft-ICE 使能依您的设定启动 
2.3 脱离 Soft-ICE 
2.4 重新载入 Soft-ICE 
2.1 磁片内容 
Soft-ICE 原本装在一片5又1/4英□或一片3又1/2英□的磁片中。 
当您执行S-ICE时,S-ICE注册所有人的大名将会被显示於萤幕上,以制止著作权被侵害。 S-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 主程式及符号档(symbol file)的载入程式。 
MSYM.EXE 为 Soft-ICE 符号档的产生程式。 
EMMSETUP.EXE 为供使用者自定扩展记忆体(expanded memory)使用方式的程式。 
UPTIME.EXE 为修正时间调[拯]的程式。 
README.SI 为一文字档,其中包含有Soft-ICE使用手册未提及的事项。 
SAMPLE.EXE 为使用者指南中所使用的一个示范(DEMO)程式。 
SAMPLE.ASM 为 SAMPLE.EXE 的组合语言原始程式。 
SAMPLE.SYM 为 SAMPLE.EXE 的符号档。 
2.2 载入Soft-ICE 
在执行Soft-Ice之前,先将磁片中所有的档案拷贝至硬碟机中。 
这些档案应当放置於您的档案路径所能存取到的目录中。 S-ICE.EXE 能以DEVICE DRIVER的形式载入抑或以一般程式於DOS 命令行下执行。 
如果想要使用Soft-Ice的特点的话,则SICE.EXE必须在CONFIG.SYS中以DEVICE DRIVER 的方式载入。 
注解 : 
如果您没有extended memory的话,则Soft-ICE 无法以device driver的形式载入。 
也就是说您必须在DOS prompt下载入它。 
2.2.1 无 Extended Memory 的载入方法: 
当您没有extended memory时,Soft-ice将尽量将自己本身载入到记忆体最高位置。 
而被Soft-ice所使用的记忆体将会被排除在外(map out)。因此DOS记忆体的可视范围将比载入前为少,建议您在其他任何常驻程式前载入 S-ICE。 如果您没有 extended 
memory, 只要键入: 
S-ICE 
2.2.2 使用 Extended Memory 来载入的方法: 
以Extended Memory来载入S-ICE可以下列两种方法达成: 
1. 在 CONFIG,SYS, 中将S-ICE.EXE以driver的形式载入: 
如果您将使用下列的功能,则必须是此种方法。 
* 与经由ROM BIOS CALLS来存取记忆体的程式,共享记忆体。 
(如 VDISK,SYS, RAMDRIVE.SYS,HIMEM.SYS,cache programs, 等等). 
* 使用Soft-ICE EMM 4,0 相容能力。 
* 使用Soft-ICE 作为符号或原始程式阶段的除错。 
* 使用back trace ranges. 
* 与其它Nu-Mega 的产品如MagicCV,共同使用S-ICE。 
当以DRIVER形式载入时,Soft-Ice将配置一部份的Evtended memory以作为自己本身及其附属程式使用,因此不会有记忆体冲突发生。S-ICE.EXE必须 在其它会配置Extended memory的程式之前载入。(例如:VDISK.SYS,RAMDRIVE.SYS)。通常如果Soft-Ice在CONFIG.SYS中第一个载入时,能得到最好的效果。 
对於那些新进使用Soft-Ice的使用者而言,在CONFIG.SYS中以下列叙述来将 Soft-Ice当作第一个载入的程式是很明智的: 
device = drive: \path\S-ICE.EXE /SYM 50 
Drive 及 path 须指派为S-ICE.EXE 所在的目录.该项叙述会在系统重置後将Soft-Ice载入,适合作为入门指引。无论如何,Soft-ICE将不会载入更为 强大的功能(如EMM 4.0)。在您使用有一些心得後,您可以重新调整Soft-Ice来使用诸如此类的功能。如果您已熟悉Soft-Ice或想要立即调整设定以使用其功能的话,请参阅第六章(Soft-ICE 初始设定选项)。   
      
   