Udostępnij przez


Komunikaty o błędach weryfikatora sterowników statycznych

W tej sekcji wyjaśniono znaczenie niektórych najczęściej spotykanych komunikatów o błędach SDV i sugeruje metody ich rozwiązywania.

Podczas uruchamiania wersji SDV z poziomu programu Visual Studio mogą wystąpić następujące błędy:

  • SDV działa tylko na konfiguracjach niezwiązanych z debugowaniem: zgodnie z komunikatem, SDV musi być uruchomiony w konfiguracji niezwiązanej z debugowaniem. Upewnij się, że projekt został ustawiony na konfigurację Release lub utwórz ją, jeśli żadna nie jest dostępna, i uruchom ponownie SDV.
  • Wystąpił błąd podczas ładowania dostępnych reguł: sdV nie może odnaleźć reguł dla modelu sterownika lub nie można poprawnie określić modelu sterownika (znacznie bardziej prawdopodobne, jeśli twój sterownik nie jest sterownikiem WDM, KMDF, NDIS lub Storport). Jeśli zestaw WDK jest poprawnie zainstalowany, może być możliwe obejście tego błędu przez bezpośrednie uruchomienie zestawu SDV z wiersza polecenia (zobacz statyczne polecenia Weryfikatora sterowników (MSBuild)).
  • SdV nie może wyczyścić katalogu sterowników: w niektórych przypadkach błędy uprawnień mogą uniemożliwić sdV poprawne czyszczenie starych wyników z katalogu sterowników po kliknięciu przycisku "Wyczyść". Ten błąd wystąpi również, jeśli pliki SDV z poprzednich przebiegów są obecnie używane. Upewnij się, że w katalogu sterowników nie są używane żadne pliki SDV, a następnie usuń wszystkie foldery "sdv.temp" i wszystkie pliki "staticdv.job".

Jeśli zestaw SDV zakończy się niepowodzeniem podczas próby analizy, spowoduje wyświetlenie etapu, który zakończył się niepowodzeniem w standardowych danych wyjściowych. Podczas uruchamiania wersji SDV z graficznego interfejsu użytkownika programu Visual Studio można wyświetlić te dane wyjściowe, przełączając się na kartę "Alerty".

Etapy SDV mogą zakończyć się niepowodzeniem:

  • NormalBuild: SDV nie mógł skompilować sterownika przy użyciu standardowych poleceń MSBuild. Taka sytuacja może wystąpić, jeśli masz wyspecjalizowaną logikę kompilacji, korzystasz z elementów rozwiązania w pliku projektu lub masz składniki kompilacji zewnętrznej. Jeśli projekt opiera się na właściwości $(SolutionDir), możesz podać tę zmienną bezpośrednio, uruchamiając ponownie sdV z wiersza polecenia i dołączając ją do wiersza polecenia, dodając /p:SolutionDir=[dir rozwiązania] na końcu polecenia MSBuild. Zobacz Statyczne polecenia weryfikatora sterowników (MSBuild).
  • InterceptedBuild: SDV nie może skompilować sterownika do analizy.
  • Skanowanie: SDV nie może odnaleźć punktów wejścia sterownika. Błąd ten może wskazywać, że jeśli nie znaleziono żadnych punktów wejścia, należy zaktualizować typy ról funkcji lub plik sdv-map.h. Zobacz Deklaracje typów ról funkcji i Zatwierdzanie pliku Sdv-map.h aby uzyskać więcej informacji.
  • FinalCompile: SDV nie był w stanie skompilować sterownika za pomocą reguły i modelu systemu operacyjnego.
  • CheckRule: SDV nie był w stanie poprawnie zweryfikować reguły.

Możesz dowiedzieć się więcej o błędzie, włączając diagnostykę sdV. Aby uzyskać szczegółowe informacje, zobacz Diagnostyka statycznego weryfikatora sterowników .