使用全局标志实用工具
全局标志 (gflags.exe) 实用工具提供了一种简单的方法,用于在系统注册表中设置某些键、调整正在运行的系统的内核设置以及更改图像文件的设置。 可以使用图形或命令行接口设置这些键。
可以在 Windows 支持工具包和 Windows 调试工具包中找到全局标志实用工具。 有关后者的信息,请参阅 Windows 调试。
全局标志实用工具还可用于配置驱动程序验证程序的“特殊池”选项,或指定用于单个内存分配的特殊池。
若要更改“特殊池”设置,请启动“全局标志”实用工具,然后选择“目标”部分中的“系统注册表”选项按钮。 对话框的“ 内核特殊池标记 ”部分允许设置某些特殊池选项。
控制池标记对齐
选择“ 验证开始” 选项按钮,使特殊池对齐方式专注于运行不足检测。 选择 “验证结束 ”选项以专注于溢出检测。 这些按钮控制所有特殊池分配的对齐方式 -- 无论是由驱动程序验证程序还是全局标志。
按池标记或分配大小使用特殊池
特殊池可用于具有特定池标记的所有分配。 若要激活此功能,请在“池标记”文本框中输入 池标记 。
特殊池还可用于特定大小范围内的所有分配。 尽管这种特殊池的使用不涉及池标记,但此功能仍可通过在“ 池标记 ”文本框中输入一个数字来激活。 此数字必须小于 PAGE_SIZE。
对于 x86 处理器,PAGE_SIZE 0x1000分配大小范围长度为 8 个字节。 若要为此范围内大小的所有分配激活特殊池,请输入一个等于此范围最大值加 8 的数字。 (此数字始终是 8.) 下表说明了这些值:
大小范围 | 在“池标记”文本框中输入此数字 |
---|---|
1 到 8 个字节 |
16 (0x10) |
9 到 16 个字节 |
24 (0x18) |
17 到 24 个字节 |
32 (0x20) |
... |
... |
0xFE9到0xFF0字节 |
0xFF8 |
对于 x64 处理器,PAGE_SIZE 0x1000,分配大小范围长度为 16 字节。 若要为此范围内大小的所有分配激活特殊池,请输入一个等于此范围最大值加 16 的数字。 (此数字始终是 16.) 下表说明了这些值:
大小范围 | 在“池标记”文本框中输入此数字 |
---|---|
1 到 16 个字节 |
32 (0x20) |
17 到 32 个字节 |
48 (0x30) |
33 到 48 字节 |
64 (0x40) |
... |
... |
0xFD1到0xFE0字节 |
0xFF0 |
对于基于 Itanium 的处理器,PAGE_SIZE 0x2000,分配大小范围长度为 16 字节。 若要为此范围内大小的所有分配激活特殊池,请输入一个等于此范围最大值加 16 的数字。 (此数字始终是 16.) 下表说明了这些值:
大小范围 | 在“池标记”文本框中输入此数字 |
---|---|
1 到 16 个字节 |
32 (0x20) |
17 到 32 个字节 |
48 (0x30) |
33 到 48 字节 |
64 (0x40) |
... |
... |
0x1FD1到0x1FE0字节 |
0x1FF0 |
最好避免使用低于 PAGE_SIZE 的池标记。 例如,如果将0x30放入基于 Itanium 的处理器上的此文本框中,则特殊池将用于大小在 17 到 32 字节之间的所有分配,以及使用池标记0x0030进行分配。
注意 如果驱动程序验证程序为驱动程序启用了特殊池,并且全局标志实用工具为池标记或分配大小启用了特殊池,则特殊池将用于满足这些条件 (受池可用性) 限制的所有分配。
有关 使用特殊池 的完整详细信息,请参阅特殊池。