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.

  • Subtraia valores altos.

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

Subtrair o valor do sinalizador atual

O seguinte comando limpa todas as sinalizações estabelecidas na entrada de sinalização global do 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 menos (-) para subtrair E0 do valor do sinalizador.

gflags /r -E0 

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

Current Boot Registry Settings are: 00000000 

Observe que os comandos a seguir 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 de todo o sistema subtraindo valores altos (0xFFFFFFFF) da configuração de sinalizador em todo o sistema.

gflags /r -ffffffff 

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

Current Boot Registry Settings are: 00000000 

Dica Digite este comando no Bloco de notas e, em seguida, salve o ficheiro como clearflag.bat. Depois disso, para limpar todos os sinalizadores, basta digitar ClearFlag.

Finalmente, 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, na verdade, ele 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.