Usando o Utilitário de Sinalizadores Globais

O utilitário Sinalizadores Globais (gflags.exe) fornece um método simples de definir determinadas chaves dentro do registro do sistema, ajustar as configurações de kernel do sistema em execução e alterar as configurações de arquivos de imagem. Você pode definir essas chaves usando uma interface gráfica ou de linha de comando.

O utilitário Sinalizadores Globais pode ser encontrado no pacote ferramentas de suporte do Windows e no pacote Ferramentas de Depuração para Windows. Para obter informações sobre o último, consulte Depuração do Windows.

O utilitário Sinalizadores Globais também pode ser usado para configurar a opção Pool Especial do Verificador de Driver ou para designar o pool especial para uso em alocações de memória individuais.

Para alterar as configurações do Pool Especial, inicie o utilitário Sinalizadores Globais e selecione o botão de opção Registro do Sistema na seção Destino . A seção Marca de Pool Especial do Kernel da caixa de diálogo permite que determinadas opções especiais do pool sejam definidas.

Controlando o alinhamento da marca do pool

Selecione o botão Verificar opção Iniciar para fazer com que o alinhamento especial do pool se concentre na detecção de subexecutar. Selecione a opção Verificar Término para se concentrar na detecção de estouro. Esses botões controlam o alinhamento de todas as atribuições de pool especiais, seja feitas pelo Verificador de Driver ou por Sinalizadores Globais.

Usando pool especial por marca de pool ou tamanho de alocação

O pool especial pode ser usado para todas as alocações com uma determinada marca de pool. Para ativar esse recurso, insira a marca de pool na caixa de texto Marca de Pool .

O pool especial também pode ser usado para todas as alocações em um determinado intervalo de tamanhos. Embora esse uso de pool especial não envolva marcas de pool, esse recurso é ativado inserindo um número na caixa de texto Marca de Pool . Esse número deve ser menor que PAGE_SIZE.

Para um processador x86, PAGE_SIZE é 0x1000 e os intervalos de tamanho de alocação têm 8 bytes de comprimento. Para ativar o pool especial para todas as alocações com tamanhos nesse intervalo, insira um número igual ao máximo desse intervalo mais 8. (Esse número é sempre um múltiplo de 8.) A tabela a seguir ilustra estes valores:

Intervalo de tamanhos Insira esse número na caixa de texto Marca de Pool

1 a 8 bytes

16 (0x10)

9 a 16 bytes

24 (0x18)

17 a 24 bytes

32 (0x20)

...

...

0xFE9 0xFF0 bytes

0xFF8

Para um processador x64, PAGE_SIZE é 0x1000 e os intervalos de tamanho de alocação têm 16 bytes de comprimento. Para ativar o pool especial para todas as alocações com tamanhos nesse intervalo, insira um número igual ao máximo desse intervalo mais 16. (Esse número é sempre um múltiplo de 16.) A tabela a seguir ilustra estes valores:

Intervalo de tamanhos Insira esse número na caixa de texto Marca de Pool

1 a 16 bytes

32 (0x20)

17 a 32 bytes

48 (0x30)

33 a 48 bytes

64 (0x40)

...

...

0xFD1 para 0xFE0 bytes

0xFF0

Para um processador baseado em Itanium, PAGE_SIZE é 0x2000 e os intervalos de tamanho de alocação têm 16 bytes de comprimento. Para ativar o pool especial para todas as alocações com tamanhos nesse intervalo, insira um número igual ao máximo desse intervalo mais 16. (Esse número é sempre um múltiplo de 16.) A tabela a seguir ilustra estes valores:

Intervalo de tamanhos Insira esse número na caixa de texto Marca de Pool

1 a 16 bytes

32 (0x20)

17 a 32 bytes

48 (0x30)

33 a 48 bytes

64 (0x40)

...

...

0x1FD1 para 0x1FE0 bytes

0x1FF0

É melhor evitar o uso de marcas de pool inferiores a PAGE_SIZE. Por exemplo, se você colocar 0x30 nessa caixa de texto em um processador baseado em Itanium, o pool especial será usado para todas as alocações entre 17 e 32 bytes de tamanho e para alocações com a marca de pool 0x0030.

Nota Se o Verificador de Driver tiver habilitado o pool especial para um driver e o utilitário Sinalizadores Globais tiver habilitado o pool especial para uma marca de pool ou tamanho de alocação, o pool especial será usado para todas as alocações que atendem a qualquer um desses critérios (sujeito à disponibilidade do pool).

Consulte Pool Especial para obter detalhes completos sobre o uso do pool especial.