SoftICE for WIN95中文命令解说(四)
程序员文章站
2022-07-03 09:59:13
SoftICE for WIN95中文命令解说(四) Copyright (c) 1999 http://coobe.cs.hn.cninfo.net/~tianwei 命令: C 作用: 比较内存中两块区域的内容 语法: C start-address l length sta... 08-10-08...
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 和长度, 则结果不论数据窗口可见还是不可见,都显示在命令窗口中. 点评: 无