O Verificador de driver é uma ferramenta do Windows usada para monitorar e enfatizar drivers para detectar qualquer comportamento não intencional. É uma ferramenta destinada a ser usada em sistemas de desenvolvimento por desenvolvedores de drivers, e não em sistemas de produção por usuários normais. Na verdade, a Microsoft adverte os usuários a fazerem o mesmo.

No entanto, muitas vezes você verá usuários em fóruns sendo aconselhados a usar o Verificador de driver para solucionar problemas de driver e BSODs. Então, qual é a realidade? O Driver Verifier é seguro de usar e você deve usá-lo em seu sistema? Tentamos responder a essas e outras perguntas semelhantes neste artigo.

O que é o Verificador de driver? Você deve usá-lo?

Os drivers de dispositivo do Windows NT usam estruturas de modo kernel chamadas pacotes de solicitação de E/S (IRPs) para se comunicarem com o sistema operacional e entre si. O Driver Verifier monitora esses IRPs e verifica a atribuição de IRP e erros de conclusão.

O Driver Verifier permite que você coloque os motoristas em cargas de estresse intenso simulando certas condições, como pouca memória, rastreamento de pool ou detecção de deadlock. Você pode recriar possíveis erros forçando os drivers a trabalhar com recursos mínimos e usar os dumps gerados para analisar e depurar o problema.

Como dito, isso geralmente é feito em ambientes de teste ao desenvolver os drivers. Mas, às vezes, você terá que executar o Driver Verifier em máquinas de produção. E aí surge a pergunta, isso é seguro?

Bem, é complicado. Em primeiro lugar, a Microsoft advertiu explicitamente contra a tentativa de verificar todos os drivers de uma só vez, pois isso degradaria severamente o desempenho, limitaria a eficácia do verificador e praticamente tornaria o sistema inutilizável. E, no entanto, é assim que a maioria dos usuários usa o Driver Verifier.

Mas também é verdade que, em casos raros, mesmo se você usar o Driver Verifier corretamente, ainda poderá ficar preso em um loop de verificação de bugs do Driver Verifier. Essencialmente, pode causar mais falhas do que resolve. Mas, como dissemos, é altamente improvável que isso aconteça se o procedimento adequado for seguido

Em última análise, nosso veredicto é que você só deve usar isso em máquinas de produção se já tentou outras ferramentas de depuração sem sucesso.

Como usar o Verificador de driver?

O Verificador de driver é incluído por padrão na maioria das versões do Windows e pode ser executado com o comando verifier. Mas antes de executá-lo, há algumas coisas que vale a pena observar primeiro:

Você deve estar no grupo Administradores para usar o Verificador de driver. É recomendável testar apenas drivers não-Microsoft. Você deve teste apenas um ou alguns drivers de uma vez. Executar o verificador de driver em todos os drivers de uma vez não é recomendado. Verifique se a criação de despejo de memória está ativada. Você deve criar um ponto de restauração do sistema antes de executar o Verificador de driver. Ao testar os drivers, é melhor começar com qualquer instalado ou atualizado recentemente, com histórico problemático ou qualquer outro que você suspeite.

Gerar verificação de bug

Para máxima eficácia, a Microsoft recomenda configurando a depuração de rede. Mas isso não é viável para a maioria dos usuários e, independentemente de você configurar a sessão de depuração ou não, as etapas a serem seguidas no computador de destino (travamento) são as mesmas:

Pressione Win + R, digite verificador, e pressione Enter.Você tem duas opções com o Driver Verifier Manager.
Se você suspeitar que há um motivo específico para seus problemas de driver, como, digamos, corrupção de memória, você pode selecionar Criar configurações personalizadas (para desenvolvedores de código) e você pode selecionar testes específicos como Pool especial. Caso contrário, você pode selecionar Criar configurações padrão para os testes padrão.Ao selecionar configurações personalizadas, há são algumas coisas dignas de nota. Como a simulação aleatória de poucos recursos tem a possibilidade de causar falhas não relacionadas, esse teste não incluído na maioria dos casos. Em vez disso, você pode usar Simulação sistemática de poucos recursos. Alguns testes normalmente incluídos incluem Acompanhamento de pool para vazamentos de memória, Verificação de E/S para verificar se há ilegalidade Rotinas de E/S, Detecção de deadlock para verificar o potencial de deadlock, Verificações de segurança para verificar vulnerabilidades de segurança etc. Recomendamos consultar o Opções do Verificador de Driver para obter a lista completa e a descrição das opções.
Depois de especificar o teste, escolha Selecione os nomes dos drivers em uma lista. Selecione os drivers que você suspeita e pressione Concluir.
Reinicie o computador e use o sistema como de costume. O desempenho do sistema provavelmente será afetado durante esse período, mas é a intenção. Depois que o Driver Verifier detectar uma violação, ele gerará uma verificação de bug.
Agora, você deve reiniciar e analisar os arquivos de despejo para determinar a raiz dos problemas e redefinir o Verificador de driver posteriormente.

Observação: se você quiser ser eficiente, também poderá executar o Verificador de driver por meio da linha de comando, se desejar. Por exemplo, o comando a seguir o executa com configurações padrão em um driver chamado TestDriver.sys:
verifier/standard/driver TestDriver.sys

Analisar arquivo de minidump

Você pode usar ferramentas de depuração como WinDbg ou KD para analisar os arquivos de despejo e descobrir os drivers defeituosos. Em ambos os casos, para os métodos CLI, primeiro você desejará anexar o caminho do símbolo para apontar para o repositório de símbolos da Microsoft.

Isso permitirá que o depurador recupere automaticamente os arquivos de símbolo corretos sem exigir informações como nomes de produtos, versões ou números de compilação. Você pode fazer isso com o comando.symfix da seguinte forma:
.symfix[+] [LocalSymbolCache]

Fizemos o mesmo e confirmamos que funcionou usando o comando.sympath no exemplo mostrado. Observe que é necessário acesso à Internet para que isso funcione.

KD

Com o KD, você pode usar o comando kd-y SymbolPath-i ImagePath-z DumpFileName no CMD para abrir o despejar arquivo. No prompt do KD, você pode usar !analyze-v para analisar o arquivo de despejo e !verifier para exibir as estatísticas do Verificador de driver.

WinDbg

No caso do WinDbg, você pode faça o mesmo com windbg-y SymbolPath-i ImagePath-z DumpFileName. Como alternativa, você também pode usar o aplicativo de visualização do WinDbg por meio da GUI:

Instale e inicie a ferramenta WinDbg. Pressione CTRL + D, navegue e abra o arquivo.dmp.
Selecione Exibir > Comando e digite !analyze-v.
Após a análise, verifique o MODULE_NAME e Provavelmente causado por seções. Como você provavelmente tem vários arquivos de despejo, analise o resto no mesmo m para determinar o culpado.

Redefinir Verificador de Driver

O Verificador de Driver consome uma quantidade significativa de recursos ao testar os drivers em segundo plano. Se você não redefini-lo depois de usá-lo, o desempenho do seu sistema permanecerá degradado e você continuará enfrentando falhas devido às verificações de bugs.

Como tal, você deve redefini-lo iniciando o Gerenciador de verificação de driver como antes e selecionando Excluir configurações existentes. Como alternativa, você também pode usar o comando verifier/reset no CMD.

Se você não conseguir desativá-lo devido a uma falha direta na inicialização, você pode inicializar no modo de segurança e desativá-lo a partir daí. Supondo que você seguiu nossas recomendações, o Verificador de driver deve ser executado apenas em drivers que não sejam da Microsoft, que não serão executados no modo de segurança, o que significa que você poderá inicializar sem travar.

Caso isso não ocorra t uma opção, você pode inicializar a partir de uma mídia de instalação do Windows ou unidade de recuperação e usar a restauração do sistema para reverter seu PC para um estado de funcionamento.

Resolver problemas de driver

Depois de ter identificar o driver problemático, você pode executar as etapas apropriadas, seja atualizá-lo, reverter ou desinstalar completamente.

Categories: IT Info