GFlags

GFlags 是全局标志编辑器,用于启用和禁用高级调试、诊断和故障排除功能。 它最常用于打开其他工具跟踪、计数和记录的指示器。

从何处获取 GFlags

GFlags.exe 包含在 Windows 10 (WinDbg) 调试工具中。

安装调试工具后,默认在以下目录中安装 64 位版本的 gflags.exe

C:\Program Files (x86)\Windows Kits\10\Debuggers\x64

如果运行的是 32 位版本的 Windows,请使用位于此处的 32 位版本的 gflags.exe

C:\Program Files (x86)\Windows Kits\10\Debuggers\x86

GFlags 概述

驱动程序开发人员和测试人员通常使用 GFlags 直接或通过在测试脚本中包含 GFlags 命令来启用调试、日志记录和测试功能。 页堆验证功能可帮助你识别 内核模式 驱动程序中的内存泄漏和缓冲区错误。

GFlags 具有对话框和命令行接口。 这两个接口提供大多数功能,但某些功能只能从其中一个接口访问。 有关详细信息,请参阅 GFlags 详细信息

功能

  • 页面堆验证。 GFlags 现在包括 (pageheap.exe) 的功能 PageHeap ,这是一种启用堆分配监视的工具。 PageHeap 包含在以前版本的 Windows 中。

  • 特殊池功能无需重启。 在 Windows Vista 及更高版本的 Windows 上,可以启用、禁用和配置特殊池功能,而无需重启 (“重新启动”) 计算机。 有关详细信息,请参阅 特殊池

  • 对象引用跟踪。 新标志允许跟踪内核中的对象引用和对象取消引用。 此功能可检测对象引用计数递减次数过多或不再使用对象时未递减。 此标志仅在 Windows Vista 和更高版本的 Windows 中受支持。

  • 新建对话框设计。 GFlags 对话框具有选项卡式页面,以便更轻松地导航。

要求

若要使用大多数 GFlags 功能,包括在注册表或内核模式下设置标志,或启用页面堆验证,你必须是计算机上的管理员组的成员。 但是,在 Windows Vista 之前,至少具有来宾帐户访问权限的用户可以从“ 全局标志 ”对话框启动程序。

当功能在特定操作系统版本上不起作用或工作方式不同时,功能说明中会解释差异。

本节包括:

GFlags 概述

GFlags 详细信息

GFlags 命令

GFlags 标志表

GFlags 和 PageHeap

全局标志对话框

GFlags 示例

全局标志参考

注意

如果使用此工具不正确,可能会降低系统性能或阻止 Windows 启动,因此需要重新安装 Windows。

重要

 池标记在 Windows Server 2003 及更高版本的 Windows(包括 Windows Vista)上永久启用。 在这些系统上,“全局标志”对话框中的“启用池标记检查”框灰显,用于启用或禁用池标记的命令将失败。

另请参阅

GFlags 示例

全局标志参考

Windows 调试工具中包含的工具