Mensagens de erro do verificador de driver estático
Esta seção explica o significado de algumas das mensagens de erro SDV vistas com mais frequência e sugere métodos para resolvê-las.
Ao iniciar o SDV do Visual Studio, você poderá ver os seguintes erros:
- O SDV opera apenas em configurações que não são de depuração: como diz a mensagem, o SDV deve ser executado em uma configuração que não seja de depuração. Verifique se o projeto está definido como uma configuração de versão ou crie uma se não estiver disponível e inicie novamente o SDV.
- Erro ao carregar as regras disponíveis: o SDV não consegue encontrar as regras para o modelo de driver ou não pode determinar o modelo de driver corretamente (muito mais provável se o driver não for um driver WDM, KMDF, NDIS ou Storport). Se o WDK estiver instalado corretamente, você poderá contornar esse erro executando o SDV diretamente na linha de comando (consulte Comandos do Verificador de Driver Estático (MSBuild)).
- O SDV não pôde limpo o diretório do driver: em alguns casos, erros de permissões podem impedir que o SDV limpe corretamente os resultados antigos do diretório do driver quando você clica no botão "Limpar". Esse erro também ocorrerá se os arquivos sdv de execuções anteriores estiverem em uso no momento. Verifique se nada está usando os arquivos SDV no diretório do driver e remova as pastas "sdv" e "sdv.temp" e os arquivos "staticdv.job".
Se o SDV falhar durante a tentativa de análise, ele imprimirá o estágio em que falhou na saída padrão. Ao executar o SDV da GUI do Visual Studio, você pode ver essa saída alternando para a guia "Alertas".
Os estágios em que o SDV pode falhar são:
- NormalBuild: o SDV não pôde criar o driver usando comandos padrão do MSBuild. Isso pode ocorrer se você tiver lógica de build especializada, depender de elementos de solução no arquivo de projeto ou tiver componentes de build externos. Se o projeto depender da propriedade $(SolutionDir), você poderá fornecer essa variável diretamente executando novamente o SDV da linha de comando e acrescentando-o à linha de comando adicionando /p:SolutionDir=[seu dir de solução] ao final do comando MSBuild. Consulte Comandos do Verificador de Driver Estático (MSBuild).
- InterceptedBuild: o SDV não pôde criar o driver para análise.
- Verificação: o SDV não pôde localizar os pontos de entrada do driver. Um erro aqui pode indicar que nenhum ponto de entrada foi encontrado e você deve atualizar seus roletypes de função ou sdv-map.h. Consulte Usando declarações de tipo de função e Aprovando o arquivo Sdv-map.h para obter mais informações.
- FinalCompile: o SDV não pôde compilar o driver com a regra e o modelo do sistema operacional.
- CheckRule: O SDV não pôde verificar corretamente a regra.
Você pode saber mais detalhes sobre o erro habilitando diagnóstico para SDV. Consulte Diagnóstico do Verificador de Driver Estático para obter detalhes.