Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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
- Problemas conhecidos do Verificador de Driver Estático: Lista os problemas conhecidos mais recentes 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 SDV em uma janela do Prompt de Comando do Visual Studio.
- Apresentando o 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 para a 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, os arquivos de configuração do SDV, e as mensagens de erro e aviso.
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: