Simulação sistemática de baixos recursos

A opção de simulação de recursos baixos sistemáticos injeta falhas de recursos em drivers de modo kernel. Essa opção penetra nos caminhos de tratamento de erros do driver. Testar esses caminhos tem sido historicamente muito difícil. A opção de simulação sistemática de baixos recursos injeta falhas de recursos de maneira previsível, o que torna os problemas que ele considera reproduzíveis. Como os caminhos de erro são fáceis de reproduzir, isso também facilita a verificação de correções para esses problemas.

Para ajudá-lo a determinar a causa raiz do erro, uma extensão de depurador é fornecida que pode informar exatamente quais falhas foram injetadas e em que ordem.

Cuidado Essa opção não se destina a ser usada quando você está verificando todos (ou uma grande coleção de) drivers em um computador. Essa opção deve ser usada somente quando você estiver fazendo testes direcionados de drivers individuais ou seus drivers de filtro anexados. Usar essa opção em um grande número de drivers ao mesmo tempo pode causar resultados imprevisíveis e pode forçar falhas em componentes não relacionados aos drivers que você está testando.

Nota Para Windows 8.1, o recurso injeção de falha baseada em pilha, que estava disponível no WDK 8, foi integrado ao Verificador de Driver. Em computadores que executam Windows 8.1, use a opção de simulação sistemática de baixos recursos.

Quando a opção de simulação sistemática de baixos recursos é habilitada em um driver específico, ela intercepta algumas chamadas desse driver para o kernel e Ndis.sys. A simulação sistemática de recursos baixos examina a pilha de chamadas, especificamente, na parte da pilha de chamadas proveniente do driver em que ela está habilitada. Se esta for a primeira vez que ele já viu essa pilha, ela falhará na chamada de acordo com a semântica dessa chamada. Caso contrário, se já tiver visto essa chamada antes, ela passará intocada. A simulação sistemática de baixos recursos contém lógica para lidar com o fato de que um driver pode ser carregado e descarregado várias vezes. Ele reconhecerá que uma pilha de chamadas é a mesma mesmo se o driver for recarregado em um local de memória diferente.

Ativando essa opção

Você pode ativar o recurso de simulação sistemática de baixos recursos para um ou mais drivers usando o Gerenciador de Verificador de Driver ou a linha de comando Verifier.exe. Para obter detalhes, consulte Selecionando opções do verificador de driver. Você deve reiniciar o computador para ativar ou desativar a opção de simulação sistemática de baixos recursos.

  • Na linha de comando

    Windows 11

    Na linha de comando, a simulação sistemática de recursos baixos é representada pelo verificador /rc 19 36 ou pelo verificador /dif 19, ambos incluindo o modo DIF necessário.

    O recurso estará ativo após a próxima inicialização ou imediatamente se /now for adicionado à cadeia de caracteres de comando.

    Windows 10 e abaixo

    Na linha de comando, a simulação sistemática de recursos baixos é representada pelo verificador /flags 0x040000 (Bit 18). Para simulação sistemática de recursos baixos, use um valor de sinalizador de 0x040000 ou adicione 0x040000 ao valor do sinalizador. Por exemplo:

    verifier /flags 0x040000 /driver MyDriver.sys
    

    O recurso estará ativo após a próxima inicialização.

    Geral

    Ao habilitar a opção de simulação sistemática de baixos recursos, você pode usar a opção de linha de comando OPTION /faultssystematic para controlar ainda mais a simulação sistemática de recursos baixos.

    OPTION Descrição

    enableboottime

    Habilita injeções de falha em reinicializações do computador.

    disableboottime

    Desabilita injeções de falha em reinicializações do computador (essa é a configuração padrão).

    recordboottime

    Habilita injeções de falha no modo e se em reinicializações do computador.

    resetboottime

    Desabilita as injeções de falha entre reinicializações do computador e limpa a lista de exclusão de pilha.

    enableruntime

    Habilita dinamicamente injeções de falha.

    disableruntime

    Desabilita dinamicamente as injeções de falha.

    recordruntime

    Habilita dinamicamente injeções de falha no modo e se .

    resetruntime

    Desabilita dinamicamente as injeções de falha e limpa a lista de pilhas com falha anterior.

    querystatistics

    Mostra as estatísticas atuais de injeção de falha.

    incrementcounter

    Incrementa o contador de aprovação de teste usado para identificar quando uma falha foi injetada.

    getstackid COUNTER

    Recupera o identificador de pilha injetado indicado.

    excludestack STACKID

    Exclui a pilha da injeção de falha.

  • Usando o Gerenciador de Verificador de Driver

    1. Iniciar o Gerenciador de Verificador de Driver. Digite Verificador em uma janela do Prompt de Comando.
    2. Selecione Criar configurações personalizadas (para desenvolvedores de código) e clique em Avançar.
    3. Selecione Selecionar configurações individuais em uma lista completa.
    4. Selecione (marcar) Simulação sistemática de baixos recursos.
    5. Reinicie o computador.

Verificações de bugs de depuração causadas por simulação sistemática de recursos baixos

A maioria dos problemas encontrados com a simulação sistemática de recursos baixos resulta em verificações de bugs. Para ajudar a determinar a causa desses bugs de código, as Ferramentas de Depuração para Windows fornecem a extensão do depurador (kdexts.dll) e os símbolos necessários.

Para executar a extensão do depurador

  • No prompt de comando do depurador, digite o seguinte comando:

    !verifier 0x800
    

Isso despejará informações para o depurador mostrando as pilhas de chamadas das falhas mais recentes injetadas.