示例 6:清除全部标志
此示例演示了清除注册表和会话中设置的所有标志的两种不同方法:
减去当前标志值。
减去高值。
注意 此示例演示的方法仅清除标志。 它们不会将最大堆栈跟踪大小或内核特殊池标记重置为默认值。
减去当前标志值
以下命令通过减去条目的当前值,清除注册表中系统范围的标志项中设置的所有标志。 在此示例中,当前值为 0xE0。 该命令使用 /r 参数指示系统范围的注册表模式,并使用减号 (-) 的 E0 值从标志值中减去 E0。
gflags /r -E0
作为响应,GFlags 显示系统范围标志注册表项的修订值。 值为零表示命令成功,并且注册表中不再设置任何系统范围的标志。
Current Boot Registry Settings are: 00000000
请注意,以下命令与此示例中使用的命令具有相同的效果,可以互换使用:
gflags /r -20 -40 -80
gflags /r -hfc -hpc -hvc
减去高值
以下命令通过从系统范围的标志设置中减去 (0xFFFFFFFF) 高值来清除所有系统范围的标志。
gflags /r -ffffffff
作为响应,GFlags 显示系统范围标志条目的修订值。 值为零表示命令成功,并且注册表中不再设置任何系统范围的标志。
Current Boot Registry Settings are: 00000000
提示 在记事本中键入此命令,然后将该文件另存为clearflag.bat。 此后,若要清除所有标志,只需键入 ClearFlag。
最后,以下示例演示清除所有标志的直观方法不起作用。
以下命令似乎将系统范围的标志条目的值设置为 0。 但是,它实际上将零添加到系统范围的标志值。 在此示例中,系统范围的标志条目的当前值0xE0。
gflags /r 0
作为响应,GFlags 在命令完成后显示系统范围的标志值:
Current Boot Registry Settings are: 000000e0
hfc - Enable heap free checking
hpc - Enable heap parameter checking
hvc - Enable heap validation on call
命令不起作用,因为它将值 0 添加到系统范围的标志条目。