Compartilhar via


Fuzzing de atraso do Power Framework

Observação

Este marcar foi preterido a partir do Windows 10 Build 19042 e superior

A opção Atraso de Fuzzing do Power Framework randomiza agendamentos de thread para ajudar a detectar bugs de simultaneidade em drivers que usam a PoFx (estrutura de gerenciamento de energia) . Essa opção não é recomendada para drivers que não utilizam diretamente a PoFx (estrutura de gerenciamento de energia).

Nota Essa opção está disponível a partir do Windows 8.

Quando a opção é selecionada, o Verificador de Driver insere atrasos aleatórios em vários pontos nos threads. A opção Atraso de Fuzzing do Power Framework usa um algoritmo que fornece garantias probabilísticas para localizar erros em drivers. O Power Framework Delay Fuzzing melhora o teste de estresse tradicional, em que o programa de teste é executado por dias ou até semanas, na esperança de detectar problemas que possam ocorrer na execução simultânea.

A maioria das rotinas de driver é reentrante e simultânea. Bugs de simultaneidade são notoriamente difíceis de encontrar. Os bugs podem incluir deadlocks e condições de corrida, causados por problemas de sincronização e tempo inválido entre threads. O teste de estresse é a técnica de teste tradicional, mas pode ser lento e caro, e os resultados nem sempre são reproduzíveis. A opção Atraso de Fuzzing do Power Framework aumenta a probabilidade de que as condições de corrida apareçam em runtime inserindo atrasos aleatórios em várias chamadas de função de API de energia. Por exemplo, se uma condição de corrida resultar em um piloto acessando o IRP depois de ter sido cancelado, a opção Atraso de Fuzzing do Power Framework aumentará as chances dessa condição de corrida de forma que o Verificador de Driver detecte o erro durante o teste. A opção Desativar Fuzzing do Power Framework estende a potência e a utilidade do Verificador de Driver.

Ativando essa opção

Você pode ativar o recurso Atraso de Fuzzing do Power Framework 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 Atraso de Fuzzing do Power Framework.

Nota A opção Atraso de Fuzzing do Power Framework aumenta a probabilidade de que as condições de corrida apareçam em runtime inserindo atrasos aleatórios em várias chamadas de função de API de energia. Para que esses atrasos sejam mais eficazes, você pode habilitar essa opção com outras opções do Verificador de Driver. Devido aos atrasos que podem ser introduzidos, você pode esperar que o computador tenha uma resposta mais lenta.

  • Na linha de comando

    Na linha de comando, o Fuzzing de Atraso do Power Framework é representado pelo verificador /flags 0x00008000 (Bit 15). Para ativar o Power Framework Delay Fuzzing, use um valor de sinalizador de 0x00008000 ou adicione 0x00008000 ao valor do sinalizador. Por exemplo:

    verifier /flags 0x00008000 /driver MyDriver.sys
    

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

  • Usando o Gerenciador de Verificador de Driver

    1. Inicie 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) Fuzzing de Atraso do Power Framework.
    5. Reinicie o computador.