SoftICE for WIN95中文命令解说(十一)
程序员文章站
2022-03-19 10:01:46
SoftICE for WIN95中文命令解说(十一) Copyright (c) 1999 http://coobe.cs.hn.cninfo.net/~tianwei 命令: PROC 作用: 显示系统中所有进程的简要信息 语法: PROC [-xo] [task] ... 08-10-08...
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的idthreads : 进程所拥有的线程数量context : 地址区域defheap : 缺省堆debuggeecb : 调试块 点评: 无 命令: query 作用: 显示某个进程的虚拟地址映象 语法: query [[-x] address] | [process-type] 用法: -x : 显示某个线性地址在所有有效的地址区 域中的内存映象address : 线性地址processtype: 可被解释成进程的表达式query 命令可以显示某个进程的虚拟地址映象或某个线性地址的映象.如果query命令不加任何参数,将显示当前进程的映象.输出:base : 指向连续页的基址allocbase : 由virtualalloc函数申请的内存的基址allocprotect:在申请时被指定为存取保护size : 有相同特性的页组成的内存区的大小bytesstate : 内存区中页的状态: ---------------------------------- .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,offset 命令用来设置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,将只显示数字化的地址等.其余见它们各自的命令解释. 点评: 无.