分享
 
 
 

Win2k”秘密武器”之全局标志编辑器

王朝system·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

全局(或全程)标志编辑器是Sppuort Tools提供的一个适用与CW2KP的实用工具,在前面介绍查找内存空洞的文章中曾经提到过它。那么,所谓“标志(Flag)”的含义是什么呢?我们可以先粗略地将其理解为"对操作系统环境的设置".这种全局标志编辑可以被管理员用来对系统进行修改设置,也可以用来进行系统诊断。从该工具的使用特点和用途上,也可以体现出这一点.这个工具还可以与别的工具相配合,作为其它工具的先导,例如,使用查找内存空洞的工具就需要首先启动标志编辑器.另一个特点是:这个工具必须在加载后进行一次重新启动才能使用,这一点与别的工具明显不同.该工具也是在两种环境中各具备一个版本.无论那种版本,有很多可供选择的项目,项目对应的就是注册表中的特定键值,而对这些项目的选择操作实际是对注册表键值的修改,键值的修改会使系统内部的某些功能被打开或禁止,程序就是利用这一点来对系统进行诊断或排除故障的.下面先介绍在CW2KP中使用的GUI界面版本的标志编辑器.

1. GUI版本介绍

如果你已经安装"Support Tools",打开该程序可以使用:"开始->程序->Support Tools->Tools-> Global Flags Editor",附图是打开程序后出现的对话框,对话框上的彩色矩形或椭圆框是我为方便讨论自己加上去的.

附图:

在目的(Destination)选项卡中,你可以进行三项选择:

1、系统注册表

2、内核模式

3、图标文件(image file)三个选项都是单选,每次只能选择一个.选择第一项是对注册表的修改,当然这些修改很有限,并主要围绕诊断系统故障而设置,同平时我们为优化系统进行的注册表修改不是一回事;对注册表的修改,需要重新启动计算机之后才可以生效。选择第二项是启用内核模式。选择第三项可以修改图标,要在image file name 编辑栏中指定图标文件的名称;同时,在Command Line 编辑栏中指定该图标代表的应用程序,这很像我们熟悉的更改图标操作。不论选择哪个项目,都可以使用“Launch”按钮来启动设置。

目的框以下是可供选择的项目,所有选项的作用,在对话框的选择框旁都附有比较完整的英文说明,这些说明文字与表1的第二列中基本是相对应的,中文含义可以参考表1中第三列对应的部分。表1中的最左边一列是英文说明的缩写,这些缩写也是命令行版本中相应的参数。应当注意的是,表1中列出的有些项目,在对话框中并没有对应的选择框可用,也就是说,这些开关只能用在命令行版本中.凡属这些,都在表中都以蓝色的字体列出.同样,有些对话框中已经有的选择框,在表中也找不到对应的说明,这也意味着该项只能运行在GUI版本下.属这一类的补充在表1的下面.表中或表外说明中的名词术语的含义不属于本文讨论的范围,需要了解时各位可以参考相关的资料.并欢迎对其中的不妥乃至错误进行指正.

选择框分成五组,第二和第三组在用途上基本可以归为一类,所以我将五组划分成四类,每一类用一种颜色的矩形框分开。蓝色矩形框中共包含3项,这都是与调试有关的选项,其意义也比较明显; 粉红色框中包含10项,这些项大部分与内存管理有关;绿色矩形框也是与程序调试有关的选项,只是关联的内容同第一类不一样;红色矩形框中的项目比较杂,分属于多个方面;但总起来说,所有的选项都是围绕诊断调试设置的.

椭圆框中的项目是选择跟踪捕捉的层数,默认是16层,你可以修改为别的数值.

右下方的矩形框是内核模式下特定内存池标记的选择,可以选择文本,也可以选择十六进制数,内容可以填写在给出的编辑框中.然后在两种检验模式中指定一种.

完成上述各项选择后,鼠标点击Apply或Ok即可.

无论使用何种版本的全局标志编辑器,都必须对命令、参数、开关做到真正了解,盲目乱用会产生程序冲突或在重新启动计算机时失败.

2.命令行版本介绍

命令行版本与GUI版本基本是一一对应的.也是由参数和开关组成的.

命令行的语法:

gflag [-r [flag [maxdepth]] [-k [flag]] [-i ImageFileName [flag]] [-l flag commandline...]

参数及开关说明:

开关:flag

即表1中有效的全局标志

flag应当是下面形式:

A:一个十六进制数的全局标志.如果使用时需要查找含义,可以参考表2中的内容,表1和表2实际是同一个标志的两种表达形式.

B:字符串,也就是表1中最左边一列中的缩写.

C:如果同时使用多个开关,可以使用"+"号与"-"号来进行连接.这与同时在附图中进行多项选择类似.

参数:

-r [flag] [maxdepth]

显示当前系统的注册表设置,

-k [flag] 运行内核模式

-i ImageFileName [flag]

加载的image 文件名

-l [flag commandline]

启动指定的设置项,相当与点击上面的“Launch”按钮.

有效的全局标志的缩写及含义(表1)

缩写

英文

含义说明

Kst

Create kernel mode stack trace database

建立kernel模式下内存堆的跟踪数据库

Ust

Create user mode stack trace database

建立user(用户)模式下内存堆的跟踪数据库

Dic

Debug Initial Command

Debug初始化命令

Dwl

Debug WINLOGON

Debug WINLOGON

Dhc

Disable Heap Coalesce on Free

禁止在自由内存空间的堆合并

Ddp

Disable kernel mode DbgPrint output

禁用kernel模式的debug打印输出

Dps

Disable paging of kernel stacks

禁止内核堆栈分页

Dpd

Disable protected DLL verification

禁止DLL保护的确认

Ece

Enable Close Exception

允许关闭异常程序

d32

Enable debugging of Win32 Subsystem

允许win32子系统的调试程序

Eel

Enable Exception Logging

允许例外程序登录

Hat

Enable Heap API Call Tracing

允许API堆的跟踪调用

Hfc

Enable heapfree checking

允许自由堆检查

Hpc

Enable heap parameter checking

允许堆参数检查

Htg

Enable heap tagging

允许标记堆

Htd

Enable Heap Tagging By DLL

允许DLL标记堆

Htc

Enable heap tail checking

允许堆尾部检查

Hvc

Enable heap validation on call

允许堆调用的确认

Ksl

Enable loading of kernel debugger symbols

允许装载内核Debug符号

Eot

Enable Object Handle Type Tagging

允许标记对象句柄类型

Pfc

Enable pool free checking

允许检查自由内存池

Ptg

Enable pool tagging

允许标记内存池

Ptc

Enable pool tail checking

允许内存池尾部检查

Otl

Maintain a list of objects for each type

维修每个类型的对象的列表

Hpa

Place heap allocations at ends of pages

堆分配放在页的结束位置

Sls

Show Loader Snaps

显示加载的捕捉

Soe

Stop On Exception

停止异常程序

补充:Buffer DbgPrint output:debug缓冲区打印输出

表2:标志名称对应的十六进制数:

标志名称

十六进制数

FLG_STOP_ON_EXCEPTION

0x00000001

FLG_SHOW_LDR_SNAPS

0x00000002

FLG_DEBUG_INITIAL_COMMAND

0x00000004

FLG_STOP_ON_HUNG_GUI

0x00000008

FLG_HEAP_ENABLE_TAIL_CHECK

0x00000010

FLG_HEAP_ENABLE_FREE_CHECK

0x00000020

FLG_HEAP_VALIDATE_PARAMETERS

0x00000040

FLG_HEAP_VALIDATE_ALL

0x00000080

FLG_POOL_ENABLE_TAIL_CHECK

0x00000100

FLG_POOL_ENABLE_FREE_CHECK

0x00000200

FLG_POOL_ENABLE_TAGGING

0x00000400

FLG_HEAP_ENABLE_TAGGING

0x00000800

FLG_USER_STACK_TRACE_DB

0x00001000

FLG_KERNEL_STACK_TRACE_DB

0x00002000

FLG_MAINTAIN_OBJECT_TYPELIST

0x00004000

FLG_HEAP_ENABLE_TAG_BY_DLL

0x00008000

FLG_IGNORE_DEBUG_PRIV

0x00010000

FLG_ENABLE_CSRDEBUG

0x00020000

FLG_ENABLE_KDEBUG_SYMBOL_LOAD

0x00040000

FLG_DISABLE_PAGE_KERNEL_STACKS

0x00080000

FLG_HEAP_ENABLE_CALL_TRACING

0x00100000

FLG_HEAP_DISABLE_COALESCING

0x00200000

FLG_ENABLE_CLOSE_EXCEPTIONS

0x00400000

FLG_ENABLE_EXCEPTION_LOGGING

0x00800000

FLG_ENABLE_HANDLE_TYPE_TAGGING

0x01000000

FLG_HEAP_PAGE_ALLOCS

0x02000000

FLG_DEBUG_INITIAL_COMMAND_EX

0x04000000

FLG_VALID_BITS

0x07FFFFFF

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有