Partilhar via


Verificador de driver estático

Static Driver Verifier (também conhecido como "StaticDV" ou "SDV") é uma ferramenta de verificação estática que analisa sistematicamente o código-fonte dos drivers de modo kernel do Windows. SDV é uma ferramenta de tempo de compilação que é capaz de descobrir defeitos e problemas de projeto em um driver. Com base em um conjunto de regras de interface e um modelo do sistema operacional, o SDV determina se o driver interage corretamente com o kernel do sistema operacional Windows.

Importante

O SDV não é mais suportado e o SDV não está disponível nas versões WDK ou EWDK do Windows 24H2. Ele não está disponível em WDKs mais recentes do que a compilação 26017 e não está incluído no Windows 24H2 RTM WDK. O SDV ainda pode ser usado baixando o Windows 11, versão 22H2 EWDK (lançado em 24 de outubro de 2023) com as ferramentas de compilação do Visual Studio 17.1.5 em Baixar o Kit de Driver do Windows (WDK). Somente o uso do Enterprise WDK para executar SDV é recomendado. O uso de versões mais antigas do WDK padrão em conjunto com versões recentes do Visual Studio não é recomendado, pois isso provavelmente resultará em falhas de análise.
No futuro, o CodeQL será a ferramenta principal de análise estática para controladores. O CodeQL fornece uma linguagem de consulta poderosa que trata o código como um banco de dados a ser consultado, simplificando a escrita de consultas para comportamentos, padrões e muito mais específicos. Para obter mais informações sobre como usar o CodeQL, consulte CodeQL e o teste de logotipo de ferramentas estáticas.

Instalando o Verificador de Driver Estático

O Verificador de Driver Estático está disponível como parte do Kit de Driver do Windows (WDK) na experiência WDK completa e no WDK Enterprise autônomo. Além disso, os pacotes redistribuíveis do Visual C++ para Visual Studio são necessários para a execução do SDV. Veja o seguinte:

Integração com Visual Studio

O Verificador de Driver Estático está integrado ao Visual Studio. Você pode executar a análise estática em seu projeto de driver do Visual Studio. Você pode iniciar, configurar e controlar o Verificador de Driver Estático no menu Driver no Visual Studio.

Documentação do Verificador de Driver Estático

Localizando bugs no código do driver do Windows

A Microsoft usa SDV para testar os drivers de modo kernel incluídos no sistema operacional Microsoft Windows e para testar os drivers de exemplo no WDK. Usando as regras de conformidade DDI para modelos de controladores específicos, o SDV pode verificar o comportamento correto do controlador. Por exemplo, o SDV pode verificar se o controlador:

  • Chama funções no IRQL correto
  • Adquire e libera bloqueios na sequência correta
  • Usa corretamente funções que manipulam pacotes de solicitação de E/S (IRP)

SDV examina todos os caminhos possíveis através do código do driver. Ele é projetado para encontrar erros graves em caminhos obscuros que são improváveis de serem encontrados, mesmo em testes minuciosos.

Recursos adicionais

Para obter informações específicas sobre os controladores que o SDV pode verificar, consulte Controladores Suportados

Para obter mais informações e dicas sobre como usar o Verificador de Driver Estático, consulte o seguinte: