Compartilhar via


Simulação sistemática de recursos baixos

A opção de simulação sistemática de baixos recursos injeta falhas de recurso 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 recursos baixos injeta falhas de recursos de maneira previsível, o que torna os problemas que ele acha 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, é fornecida uma extensão de depurador que pode informar exatamente quais falhas foram injetadas e em qual 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 de filtros anexados a esses drivers. 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 o Windows 8.1, o recurso Injeção de Falha Baseada em Pilha, que estava disponível no WDK 8, foi integrado ao Verificador de Drivers. Em computadores que executam o Windows 8.1, use a opção de simulação sistemática de recursos baixos.

Quando a opção de simulação sistemática de recursos baixos é 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 limitados examina a pilha de chamadas, especificamente, a parte da pilha de chamadas que se origina do driver no qual 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á viu aquela chamada antes, a passará sem modificação. 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 é idêntica, mesmo que o driver seja recarregado em um local de memória diferente.

Ativando essa opção

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

  • 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 por verifier /flags 0x040000 (Bit 18). Para simulação sistemática de recursos limitados, 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.

    General

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

    OPÇÃO Descrição

    enableboottime

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

    desativar tempo de inicialização

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

    registrarTempoDeInicialização

    Habilita as injeções de falha no modo if entre reinicializações do computador.

    redefinir tempo de inicialização

    Desativa injeções de erro durante 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.

    tempo de execução do registro

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

    resetruntime

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

    estatísticas de consulta

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

    incrementcounter

    Incrementa o contador de passagem de teste usado para identificar quando uma falha foi injetada.

    getstackid CONTADOR

    Recupera o identificador de pilha inserido 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 (verificar) Simulação sistemática de recursos baixos.
    5. Reinicie o computador.

Depuração de verificações de erros 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

  • Na linha de comando do depurador, digite o seguinte comando:

    !verifier 0x800
    

Isso enviará informações para o debugger, mostrando as pilhas de chamadas das falhas mais recentes.