SoftICE for WIN95中文命令解说(十一)

/ns/cn/tool/data/20010129100311.htm

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

命令: 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,将只显示数字化的地址等.
其余见它们各自的命令解释.

点评: 无.