SoftICE for WIN95中文命令解说(十三)
程序员文章站
2022-09-30 12:53:04
SoftICE for WIN95中文命令解说(十三) Copyright (c) 1999 http://coobe.cs.hn.cninfo.net/~tianwei 命令: TABS 作用: 显示或修改在显示源文件时TAB键的宽度 语法: TABS [tab-s... 08-10-08...
softice for win95中文命令解说(十三) copyright (c) 1999 http://coobe.cs.hn.cninfo.net/~tianwei 命令: tabs 作用: 显示或修改在显示源文件时tab键的宽度 语法: tabs [tab-setting] 用法: tab-setting : 从1到8,表示tab键的跨度用tabs命令或set tabs都可设置tab键的跨度(列), 默认值是8. tab 命令不加参数将显示当前的tab键设置. 点评: 不过我用的3.20默认是4 命令: task 作用: 显示windows任务列表 语法: task 用法: task 命令将显示当前机器中运行的所有任务. 当前的任务前面会有一个 * 号.这个命令在windows出现所谓的general protection fault 时可以帮助你确定是由哪个任务引起的.输出:task name :任务名ss:sp :该任务最后交出控制时的堆栈地址.stacktop :堆栈偏移的顶stackbot :堆栈偏移的底stacklow :当产生地址切换时最低的sp值taskdb :任务数据基址的选择符hqueue :任务的队列句柄.events :队列中事件 点评: 无. 命令: thread 作用: 显示线程信息 语法: thread [tcb | id | task-name] 用法: tcb :线程控制块id :线程idtask-name :当前运行的32位过程.thread 命令将显示某个线程的信息.如果不带任何参数,将显示当前系统中所有活动的线程如果将某个进程名作为参数,将显示所有该进程的线程如果指定tcb或id,则只显示指定的线程.ring0tcb :ring-0线程控制块的地址.id :vmm线程idcontext :该线程所属进程的context句柄ring3tcb :ring-3线程控制块的地址threadid :ring-3线程idprocess :拥有该进程的kernel32进程数据库的地址taskdb :任务数据的选择符pdb :程序数据的选择符(psp)sz :线程的大小(16,32)owner :进程的所有者. 点评: 无. 命令: trace 作用: 进入或退出摹拟跟踪模式 语法: trace [b | off | start] 用法: start :16进制的值.用来表示回溯跟踪历史缓冲区中 指令的序号.1 表示最新的一条指令.trace 命令不带参数将显示当前摹拟跟踪的状态.trace off 将退出当前的摹拟跟踪模式,回到正常的跟踪模式下.trace b 从最老的一条指令开始摹拟跟踪. trace 加数字将从指定的序号开始摹拟跟踪.只有当回溯跟踪历史缓冲区不为空时才能用trace命令参见bpr命令的说明.回溯(摹拟)跟踪中可以用xt,xp,xg来跟踪程序,寄存器窗口中除了eip改变外,其他的都不变,因为softice 在回溯跟踪中不记录所有寄存器的值.softice 的命令除了 x,t,g,p,here,xrset不能在回溯跟踪模式下用外其他都可以使用. 点评: 无. 命令: tss 作用: 显示任务状态段和i/o端口的挂接 语法: tss [tss-selector] 用法: tss-selector :任何代表是个tss的gdt选择符tss命令通过读取tr命令来获得地址, 从而显示任务状态段的内容.用gdt命令可以看到tss选择符.如果tss命令不加参数,将显示当前的tss.输出:tss selector value :tss选择符selector base :tss的线性地址selector limit :tss的大小下面四行显示tss中寄存器的内容:ldt, gs, fs, ds, ss, cs, es, cr3eax, ebx, ecx, edx, eipesi, edi, ebp, esp, eflagslevel 0, 1 and 2 stack ss:esp下面将显示被vxd挂接的i/o端口port number :16位的端口号handler address :32位的i/o句柄地址handler name :句柄的符号名. 点评: 无. 命令: types 作用: 列出当前内存区域(context)中的类型名 语法: types [type-name] 用法: type-name : 显示指定的类型名types 命令不加参数将显示当前所有的类型名.如果加参数将只显示所指定的类型.如果参数是个结构,types将自动展开结构,并显示其成员. 点评: 无 命令: u 作用: 反汇编指令 语法: u [address [l length]] | [symbol-name] 用法: address : 段:偏移量或选择符:偏移量symbol-name : 将从指定的函数开始反汇编length : 反汇编的长度(字节)u 命令将从指定地址开始反汇编指定长度的指令.如果代码窗口可见,则显示结果将在代码窗口中, 否则在命令窗口中. u 命令跟symbol-name(符号名)如果当前符号表装载的话,u 命令可以从指定的符号地址开始反汇编. 点评: 可用u在命令窗口中反汇编,再用loader32存盘 命令: vcall 作用: 显示vxd可调用例程的名字和地址 语法: vcall [partial-name] 用法: partial-name:符号表的名字或开头的几个字符.vcall 命令将显示windows vxd api例程的名字和地址.这些例程是windows本身的vxd提供的并为为其他vxd准备的.所显示的地址只有当vmm vxd初始化过后才有效,如果softice的初始化字符串中没有一个 x;softice将在windows启动但vmm没有初始化时弹出. 点评: 无.