SoftICE for WIN95中文命令解说(四)

/ns/cn/tool/data/20010129095825.htm

SoftICE for WIN95中文命令解说(四)
Copyright (c) 1999 http://coobe.cs.hn.cninfo.net/~tianwei

命令: C
作用: 比较内存中两块区域的内容
语法: C start-address l length start-address-2
用法:
start-address : 第一块内存区域的开始地址
length : 字节长度
start-address-2: 第二块内存区域的开始地址
如果比较结果不同,将显示不同的部分和它们的地址

点评: 无

命令: CLASS
作用: 显示WINDOWS的类的信息
语法: CLASS [-x][task-name]
用法:
task-name: 当前的正在机器中运行的16或32位任务名
-x : 显示CLASS(类)的完整结构.
Windows 95在一个16位的模块中维护着标准的WINDOWS
类.而且,它为每个进程分别维护着除标准类以外的类.
每当程序注册一个新的WINDOWS类时, 信息被放入以下
两个地方中的一个:

1.任务全局列表放该进程所有模块都可以存取的类(用
CS_GLOBAL风格)
2.任务私有列表放只有申请该类的模块才能存取的类.

当任何一个进程想做一个WINDOWS标准类的话,如LIST-
BOX,它会在任务特定的系统冗余列表中得到一个拷贝,
这样就不会影响到WINDOWS本身. 所以,当用CLASS命令
时,可以看到以下3个分类:(用虚线隔开)

.任务私有列表
.任务全局列表
.系统冗余列表

输出的各项参数:
Class Handle : 类句柄.
Class Name : 类的名字, 如果注册时没有名字,
那么显示原子名
Owner : 注册此类的模块
Window Procedure: 处理该类的过程
Style : 类的风格

点评: 无

命令: CLS
作用: 清除命令窗口中的字符
语法: CLS
用法:
CLS 清屏命令,将清除命令窗口中显示的数据, 并定位
光标到命令窗口的左上角. (如果光标原先就在命令窗
口中的话)

点评: 无

命令: CODE
作用: 显示指令码
语法: CODE [ON | OFF]
用法:
CODE ON 将显示指令的机器码
CODE OFF 将不显示指令的机器码
CODE 不带参数将显示当前是ON 还是 OFF

点评:
非常有用的,由于安装SoftICE时默认为CODE OFF,所以
有必要打开,看到了机器码就可以记录下来,以便修改.


命令: COLOR
作用: 显示或修改屏幕颜色
语法: COLOR [normal bold reverse help line]
用法:
normal : 普通字符的前/背景颜色,默认为07h(灰/黑)
bold : 粗体字符的前/背景颜色,默认为0Fh(白/黑)
reverse: 反象显示的字符的前/背景颜色, 默认为71h
(蓝/灰)
help : HELP命令提示条的前/背景颜色, 默认为30h
(黑/青)
line : SoftICE各个窗口分界线的前/背景颜色, 默
认为02(绿/黑)
这些参数采用CGA的标准格式,即0-3位为前景色,4-6位
为背景色,这样就有16种前景色,8种背景色:
0 黑; 1 蓝; 2 绿; 3 青; 4 红; 5 品红;
6 棕; 7 灰; 8 深灰; 9 浅蓝; A 浅绿;
B 淡青; C 浅红; D 淡品红; E 黄; F 白

点评: 默认的颜色已经很好了,不要改得乱七八糟噢!

命令: CPU
作用: 显示寄存器内容
语法: CPU [-i]
用法:
CPU 命令显示所有的CPU 寄存器的内容.
(普通,控制,除错,段)

点评: 不用再装其他检测CPU的小软件了:)

命令: CSIP (16位程序才有用)
作用: 为所有断点设定一个界限(CS:EIP在其内)(16位程序)
语法: CSIP [off | [not] start-address end-address | Windows-module-name]
用法:
off : 关闭CS:EIP的界限检查
not : 在所定义的模块之外的区域断
点才有效
start-address : 内存区域起始地址
end-address : 内存区域结束地址
Window-module-name : 用 WINDOWS模块所在区域来代
替地址界限.
CSIP 不带参数将显示当前状态.

对于32位程序,这个命令没有用.请用带IF 参数的断点
命令代替.当然WIN95下也有一些老的16位程序(16位模
块,这时CSIP就能派上用场.

点评: 无

命令: D
作用: 显示某内存区域的内容
语法: D[size] [address [l length]]
用法:
size: B 字节; W 字; D 双字; S 短实型; L 长实型;
T 10b长实型
D 命令在所指定的内存区域开始显示指定长度的内存
单元内容. 格式将根据size来变.对于双字类型, 将分
两种情况:

1.如果指定地址为32位的段, 格式为32bytes的16进制
值(即8位16进制值)
2.如果指定地址为16位的段, 则格式为16:16指针的形
式(即4:4位16进制值)

如果没有指定地址,D 命令将继上次命令后的地址开始
显示.如果数据窗口可见,则结果在数据窗口中显示,否
则显示在命令窗口中.但若用了参数L 和长度, 则结果
不论数据窗口可见还是不可见,都显示在命令窗口中.

点评: 无