Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Verificador de Driver Estático (também conhecido como "StaticDV" ou "SDV") é uma ferramenta de verificação estática que analisa sistematicamente o código-fonte dos drivers do modo kernel do Windows. O SDV é uma ferramenta de tempo de compilação capaz de descobrir defeitos e problemas de design em um driver. Com base em um conjunto de regras de interface e em 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 tem mais suporte 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 o build 26017 e não está incluído no WDK do Windows 24H2 RTM.
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 construção do Visual Studio 17.1.5 a partir do Download do Kit de Drivers do Windows (WDK). É recomendável apenas o uso do WDK Enterprise para executar o SDV. Não é recomendável usar versões mais antigas do WDK padrão em conjunto com versões recentes do Visual Studio, pois isso provavelmente resultará em falhas de análise.
De agora em diante, o CodeQL será a ferramenta principal de análise estática para drivers de software. O CodeQL fornece uma linguagem de consulta poderosa que trata o código como um banco de dados a ser consultado, simplificando a gravação de consultas para comportamentos específicos, padrões e muito mais.
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 WDK (Windows Driver Kit) na versão completa do WDK e no Enterprise WDK autônomo. Além disso, os Pacotes Redistribuíveis do Visual C++ para Visual Studio são necessários para que o SDV seja executado. Veja o seguinte:
Integração do Visual Studio
O Verificador de Driver Estático é 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
- Problemas conhecidos do verificador de driver estático: lista os últimos problemas conhecidos do Verificador de Driver Estático
- Usando o Verificador de Driver Estático para localizar defeitos em drivers: informa o que você precisa para começar a analisar o código do driver no ambiente do Visual Studio.
- Comandos do Verificador de Driver Estático (MSBuild): lista os comandos do MSBuild a serem usados para executar o SDV em uma janela do Prompt de Comando do Visual Studio.
- Introdução ao Verificador de Driver Estático: fornece uma visão geral da ferramenta de análise estática.
- Usando o Verificador de Driver Estático: fornece os detalhes sobre como usar e configurar a ferramenta de análise estática.
- Relatório do Verificador de Driver Estático: descreve o visualizador que exibe o rastreamento detalhado da análise de código estático.
- Regras do Verificador de Driver Estático: as regras definem os requisitos de interação adequada entre um modelo de driver e a interface do kernel do sistema operacional.
- Referência do Verificador de Driver Estático: fornece informações de referência sobre os tipos de função, arquivos de configuração de SDV, erros e mensagens de aviso.
Localizando bugs no Código do Driver do Windows
A Microsoft usa o SDV para testar os drivers no modo kernel incluídos no sistema operacional Microsoft Windows e testar os drivers de exemplo no WDK. Usando as regras de conformidade DDI para modelos específicos de controlador, o SDV pode verificar o comportamento correto do controlador. Por exemplo, a SDV pode verificar se o motorista:
- 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)
O SDV examina todos os caminhos possíveis no código do driver. Ele foi projetado para encontrar erros graves em caminhos obscuros que dificilmente serão encontrados mesmo em testes completos.
Recursos adicionais
Para obter informações específicas sobre os drivers que o SDV pode verificar, consulte Drivers com suporte
Para obter mais informações e dicas sobre como usar o Verificador de Driver Estático, confira o seguinte: