Partilhar via


Exemplo 6: Limpar todos os sinalizadores

Este exemplo demonstra duas maneiras diferentes de limpar todos os sinalizadores definidos no registro e para a sessão:

  • Subtraia o valor do sinalizador atual.

  • Subtrair valores altos.

Nota Os métodos demonstrados por este exemplo limpam apenas sinalizadores. Eles não redefinem o tamanho máximo de rastreamento de pilha ou a marca de pool especial do kernel para os valores padrão.

Subtrair o valor do sinalizador atual

O comando a seguir limpa todos os sinalizadores definidos na entrada de sinalizador em todo o sistema no registro subtraindo o valor atual da entrada. Neste exemplo, o valor atual é 0xE0. O comando usa o parâmetro /r para indicar o modo de registro em todo o sistema e o valor E0 com um sinal de subtração (-) para subtrair E0 do valor do sinalizador.

gflags /r -E0 

Em resposta, o GFlags exibe o valor revisado da entrada do registro de sinalizador em todo o sistema. Um valor zero indica que o comando foi bem-sucedido e que não há mais nenhum sinalizador de todo o sistema definido no Registro.

Current Boot Registry Settings are: 00000000 

Observe que os seguintes comandos têm o mesmo efeito que o comando usado neste exemplo e podem ser usados de forma intercambiável:

gflags /r -20 -40 -80 
gflags /r -hfc -hpc -hvc 

Subtrair valores altos

O comando a seguir limpa todos os sinalizadores em todo o sistema subtraindo valores altos (0xFFFFFFFF) da configuração de sinalizador em todo o sistema.

gflags /r -ffffffff 

Em resposta, GFlags exibe o valor revisado da entrada de sinalizador em todo o sistema. Um valor zero indica que o comando foi bem-sucedido e que não há mais nenhum sinalizador de todo o sistema definido no Registro.

Current Boot Registry Settings are: 00000000 

Ponta Digite esse comando no Bloco de Notas e salve o arquivo como clearflag.bat. Depois disso, para limpar todos os sinalizadores, basta digitar ClearFlag.

Por fim, o exemplo a seguir demonstra que o método intuitivo de limpar todos os sinalizadores não funciona.

O comando a seguir parece definir o valor da entrada de sinalizador em todo o sistema como 0. No entanto, ele realmente adiciona zero ao valor do sinalizador em todo o sistema. Neste exemplo, o valor atual da entrada de sinalizador em todo o sistema é 0xE0.

gflags /r 0 

Em resposta, o GFlags exibe o valor do sinalizador em todo o sistema após a conclusão do comando:

Current Boot Registry Settings are: 000000e0
    hfc - Enable heap free checking
    hpc - Enable heap parameter checking
    hvc - Enable heap validation on call

O comando não tem efeito porque adiciona o valor 0 à entrada de sinalizador em todo o sistema.