写在前面
第一部分(.-A)
第二部分(B-B)
第三部分(B-B)
第四部分(C-D)
第五部分(D-F)
第六部分(F-G)
第七部分(H-I)
第八部分(I-L)
第九部分(M-P)
第十部分(P-P)
第11部分(P-S)
第12部分(S-T)
第13部分(T-V)
第14部分(V-W)
第15部分(W-Z)
  SoftICE for WIN95中文命令解说(十一)
  Copyright (c) 1999 http://winice.yeah.net
命令: PROC
作用: 显示系统中所有进程的简要信息
语法: PROC [-xo] [task]
用法:

-x: 即-eXtended : 显示每个线程的扩展信息
-o: 即-Objects  : 显示在进程句柄表中的对象列表
task            : 任务名
输出:
Process         : 任务名
pProcess        : 指向进程数据库的指针
Process ID      : 进程的Ring 3的ID
Threads         : 进程所拥有的线程数量
Context         : 地址区域
DefHeap         : 缺省堆
DebuggeeCB      : 调试块
点评:
命令: QUERY
作用: 显示某个进程的虚拟地址映象
语法: QUERY [[-x] address] | [process-type]
用法:
		
-x         : 显示某个线性地址在所有有效的地址区
             域中的内存映象
address    : 线性地址
processtype: 可被解释成进程的表达式

QUERY  命令可以显示某个进程的虚拟地址映象或某个
线性地址的映象.如果QUERY命令不加任何参数,将显示
当前进程的映象.
输出:
Base       : 指向连续页的基址
AllocBase  : 由VirtualAlloc函数申请的内存的基址
AllocProtect:在申请时被指定为存取保护
Size       : 有相同特性的页组成的内存区的大小Bytes
State      : 内存区中页的状态:
        ----------------------------------
        .Commit  受委托的页,意即物理定位的.
        .Free    空闲的页,可以被申请
        .Reserve 保留
        ----------------------------------
Protect    : 当前存取保护
Owner      : 内存区的所有者
Context    : 地址区域
点评:
命令: R
作用: 显示或更改寄存器的内容
语法: R [-d | register-name | register-name [=] value]
用法:
		
register-name: 以下任何一种:
        ----------------     
         AL,AH, AX,EAX
         BL,BH, BX,EBX
         CL,CH, CX,ECX
         DL,DH, DX,EDX
         DI,EDI,SI,ESI
         BP,EBP,SP,ESP
         IP,EIP,FL,DS
         ES,SS,CS,FS,GS
        ----------------
value      : 将要修改的寄存器内容.寄存器名除 FL
             (标志寄存器)以外,其他所有的都是 16
             进制的值.如果是FL的话,value应如下:
        ----------------
        O 溢出位
        D 方向位?
        I 中断位?
        S 符号位
        Z 零标志
        A 辅助进位
        P 奇偶位
        C 进位标志
        ----------------
        在相应的标志前加"+","-"号,表示打开或关闭
        如: R FL +O 将溢出标志置位.如果不带"+,-"
        号,则将当前的状态反转.

-d        :在命令窗口中显示寄存器的值.

如果 R 命令不加参数,光标将移到寄存器窗口中,进行
实时修改.如果当前寄存器窗口不可见, 那么这个命令
将自动显示它.
另外,修改FL寄存器时,参数不必按照顺序,如:
R fl=o+a-c 一次修改3个标志位.

点评: 无.
命令: RS
作用: 暂时恢复程序屏幕
语法: RS
用法:
		
RS 命令允许用户暂时恢复程序的视屏画面. 这个命令
在调试频繁更新屏幕的程序时特别有用.当显示出程序
的原画面后,可以按任意键返回SoftICE.RS有个快捷键
F4.
点评: 无.
命令: S
作用: 在内存中搜寻特定数据
语法: S [-cu][address L length data-list]
用法:
		
address  :搜索的起始地址
length   :搜索的长度(字节长)
data-list:可以是一系列字节,也可以是字符串, 字符
          串可以用单引号,也可以用双引号括住.
-c       :使查找区分大小写
-u       :查找Unicode 编码的字符串.

S 命令将从指定的内存地址开始查找指定内容的数据,
一直到超过指定的长度为止.如果查到相应数据,会在
当前的数据窗口中显示它,并在命令窗口中显示信息.
想要继续查找,则只要打入 S 即可,不需另外带参数.
S 命令忽略被标记为不在内存中的页. 想搜索一大段
内存的话,请用一马平川的30做为选择符.
点评: 无.
命令: SERIAL
作用: 将控制台转移到串口终端上
语法: SERIAL [on [com-port] [baud-rate] | off]
用法:
		
com-port : 从1-4,分别代表COM1,COM2,COM3,COM4
	   其中COM1是默认值.
baud-rate: 波特率,默认值由SoftICE自动侦测. 可能
           值为:1200,2400,4800,9600,19200,23040,
           28800,38400,57000,115000.
用一条电缆将两台机器的COM口联起来, 有被调试程序
的机器称为本地机(local), 另一台做为控制台的机器
称为远程机(remote).在联接前, 远程机上必须运行软
件包中的serial.exe程序,所以,远程机至少要是MSDOS
操作系统.Serial.exe 程序的命令格式和Serial 指令
的格式一致. 当联接建立后,本地机的屏幕将恢复被调
试程序的屏幕(即windows屏幕), 而远程机将显示Sof-
tICE的调试窗口.电缆的做法如下:
        25Pin的电缆
        ===========================
        远程                   本地
        2 ---------------------- 3
        3 ---------------------- 2
        4 ---------------------- 5
        5 ---------------------- 4
        6 ---------------------- 20
        8 -----^
        20---------------------- 6
                        ^------- 8
        7 ---------------------- 7
        ===========================
        
        9 Pin的接法:
        ===========================
        本地                   远程
        2 ---------------------- 3
        3 ---------------------- 2
        5 ---------------------- 5
        7 ---------------------- 8
        8 ---------------------- 7
        6 ---------------------- 4
        1 ------^
        4 ---------------------- 6
                         ^------ 1
        ===========================
        注:表中的^代表相接.如上面的
        表示6和1先相接,再接对方的4

远程机上总可以用CTRL+D 来激活调试.
结束调试可以在远程机上打入SERIAL off
远程机要退出serial.exe程序可以用CTRL+Z
点评:
命令: SET
作用: 显示或改变SoftICE的内部参数
语法: SET [keyword] [on | off] [value]
用法:
		
keyword : 内部变量
value   : 有些变量有数值量,不是简单的ON,OFF

Set 命令用来设置SoftICE的内部变量. 不加参数将显
示所有这些变量的当前状态, 只加keyword将只显示当
前变量的状态.
            变量列表
        ----------------------
        ALTSCR        [ON|OFF]
        CASESENSITIVE [ON|OFF]
        CODE          [ON|OFF]
        EXCLUDE       [ON|OFF]
        FAULTS        [ON|OFF]
        FLASH         [ON|OFF]
        I1HERE        [ON|OFF]
        I3HERE        [ON|OFF]
        LOWERCASE     [ON|OFF]
        MOUSE         [ON|OFF][1,2,3]
        PAUSE         [ON|OFF]
        SYMBOLS       [ON|OFF]
        TABS          [ON|OFF][1,2,3,4,5,6,7,8]
        THREADP       [ON|OFF]
        VERBOSE       [ON|OFF]
        ----------------------

CASESENSITIVE ON 将使符号名对大小写敏感
MOUSE 允许或禁止使用鼠标.还可以设定鼠标移动的速
度,1最慢,3最快,2是中速,也是缺省值.
SYMBOLS ON 将允许反汇编器在代码中显示符号名. 如
果为OFF,将只显示数字化的地址等.
其余见它们各自的命令解释.
点评: 无.
  回到文章的开头