老文章档案 · 2003 年

SoftICE for WIN95中文命令解说(七)

赢政天下 [WINZHENG.COM] · 网络学院 · 2003-06-13 · 作者:TiANWEi 人气: · 出处:嬴政天下整理收藏)

命令:

H

作用:

显示帮助信息

语法:

H [command]

用法:

键入 H 命令不带任何参数将显示所有命令的帮助. 要

获得详细的帮助,在 H 后加命令名就可.详细的帮助将

包括命令的描述,命令的语法,和例子.

点评:

H 命令可以很方便地帮助使用者查询SoftICE的命令.

实际上在命令窗口的底部有一个状态条,它提供的实时

帮助也是很有用的.

命令:

HBOOT

作用:

系统重新启动

语法:

HBOOT

用法:

HBOOT 将重新启动计算机.等同于按 Ctrl+Alt+Del 组

合键.HBOOT 一般都能成功,只有特殊情况下(某些插卡

需要重加电)才用机器上的RESET或POWER键.

点评:

HBOOT 让我想到两件事:

1,以前学微机时,老师老是盯着我们,唯恐我们乱启动

机器.想起来真是不寒而栗, 好象是我们的过错一样.

可机器明明死了嘛,不重新启动怎么行?

2,有大部分品牌机上没有RESET键, 死机就按POWER键

,按得老板倒抽凉气.:)

命令:

HEAP

作用:

显示Windows全局堆

语法:

HEAP -L [free | module-name | selector]

用法:

-L : 只显示含局部堆的全局堆入口

module-name: 模块名.

selector : LDT 选择符

HEAP FREE 将显示空闲的全局堆.

HEAP 跟模块名将只显示由指定的模块拥有的全局堆入

口. HEAP 跟LDT 选择符将只显示与此选择符相应的全

局堆入口. HEAP 不带参数将显示整个全局堆的情况.

输出:

selector or handle: 选择符符或句柄.

address : 32位虚拟地址

size : 堆的大小(字节)

module name : 模块名

--------------------------------

type : 全局堆的类型

code : 不可丢弃的代码段

code D : 可丢弃的代码段

Data : 数据段

ModuleDB : 模块数据基础段

TaskDB : 任务数据基础段

BurgerM : "三明治"(就是堆本身)

Alloc : 被动态分配的内存

Resource : Windows 资源

--------------------------------

额外信息:

如果某全局堆的入口是代码段或数据

段,则会显示该段在.EXE中的段号.如

果某全局堆的入口是Windows资源,则

会附加显示如下资源类型:

--------------------------------

UserDef(用户自定义);Icon(图标);

String(字符串); Accel(快捷键);

IconGrp(图标组);Cursor(光标);

Menu(菜单);FontGrp(字体组);

ErrTable(错误表);NameTabl(名字表);

Bitmap(位图);Dialog(对话框);

Font(字体);CursGrp(光标组)

--------------------------------

点评:

PDF 手册中称堆本身为Burger-->"三明治"(碎肉夹饼)

很贴切,堆本来就是乱七八遭.

命令:

HEAP32

作用:

显示Windows全局堆

语法:

HEAP32 [hheap32 | task-name]

用法:

hheap32 : 由HeapCreate()返回的堆句柄.

task-name: 32位任务的名字.

HEAP32 不带参数显示32位进程的堆的情况:

.KERNEL32 缺省系统堆.

.进程用HeapCreate()申请的私有堆.

.两个由VMM产生的Ring-0级的堆.第一个是换页锁定的

堆,第二个是可换页的堆.

.一个属于所有虚拟机的Ring-0堆.

如果加上进程名,SoftICE将显示所有该进程的缺省堆,

且地址内容也切换到该进程中.如果加上堆的基地址而

不是进程名,SoftICE将显示该进程的非缺省堆.

WINDOWS 95的调试版还提供了额外的调试信息,想要用

SoftICE看到这些信息,必须:

.对于KERNEL32 Ring-0堆,必须安装有SDK除错版.

.对于VMM Ring-0堆,必须安装VMM的DDK除错版

输出信息(HEAP32):

HeapBase : 堆的基址

MaxSize : 堆可增长的最大范围, 在此范围内堆无需

再创建一个新段.

Committed: 以千字节为单位当前存在于物理内存中的

被保证的内存大小

Segments : 堆中段的数量. 当堆增长超出段所能容纳

的范围,就建立一个新段

Type : 堆的类型:

--------------------------------

Private: 由应用程序建立的Ring-3堆

System : KERNEL32建立的Ring-3堆

Ring0 : VMM建立的Ring-0堆

VMM## : 由VMM建立的为特定虚拟机

存储数据的堆.

--------------------------------

输出信息(HEAP32 带参数):

Address: 堆元素的地址.

Size : 以字节为单位堆元素的长度.

Free : 如果堆元素是空闲的块,则会显示"FREE",否

则不显示.

点评:

在SoftICEv3.20实际操作上和手册说的中有些许不同.

命令:

HERE

作用:

运行到当前光标所在行

语法:

HERE

用法:

HERE 命令让程序一直走到光标所在行再停下来.注意:

只有当光标在代码窗口中时才有效.如果代码窗口不可

见或光标不在代码窗口中,则请用 G 命令代替.也可用

EC 命令将光标移到代码窗口中去,再用 HERE.

HERE 命令有个快捷键 F7.将光标定位到你想让程序暂

停的指令处,按下F7 ,程序将在此处设一个一次性断点

.程序中其他非一次性的断点照样起作用. 无论是谁先

弹出,都将清除 HERE 所下的一次性断点.和G命令一样

,HERE 命令尽量采用除错寄存器DRx, 只有用完时才用

INT 3

点评:

无.

命令:

HWND

作用:

显示窗口句柄的信息

语法:

HWND [-x][hwnd | [[level][process-name]]

用法:

level : 窗口等级号码.0 是最高级.1 其次,等

等.窗口等级代表了父窗口和子窗口的

关系.

-x : 显示窗口的冗余信息.

hwnd : 窗口句柄.

process-name: 任何当前进程名

如果指定了窗口句柄,就无需指定等级, 进程名等其他

参数,SoftICE将显示所指定窗口句柄的信息.

输出:

Class Name : 此窗口所属类的名称或类的原子.

Window Procedure: 窗口函数.

点评:

窗口句柄很有用的.(废话!)

命令:

I

作用:

从输入/输出(I/O)端口读入数据

语法:

I[size] port

用法:

size: B 字节(默认);W 字;D 双字

port: 端口地址.

I 命令在大多数情况下是作一个I/O输入指令, 获取真

实的硬件端口的数据. 在虚拟端口的情况下,取得真实

值和应用程序所见到的虚拟值可能不同. 对于 21h 和

A1h 端口,SoftICE是例外,它不进行读取,而是返回So-

ftICE弹出时的值.

点评:

参见 O 命令.

(出处:嬴政天下整理收藏)

相关文章:

相关软件:

→ 特别推荐

→ 热点TOP10

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

繁体版:由华琦数码技术提供

Powered

by:MeSky.Net

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史