Chybové zprávy statického ověřovače ovladačů

Tato část vysvětluje význam některých častěji zobrazovaných chybových zpráv SDV a navrhuje metody jejich řešení.

Při spouštění SDV ze sady Visual Studio se mohou zobrazit následující chyby:

  • SDV funguje pouze na neladicích konfiguracích: Jak zpráva uvádí, SDV musí být spuštěno v konfiguraci bez ladění. Ujistěte se, že je projekt nastavený na konfiguraci vydané verze, nebo ho vytvořte, pokud není dostupný, a znovu spusťte SDV.
  • Při načítání dostupných pravidel došlo k chybě: SDV buď nemůže najít pravidla pro váš model ovladače, nebo nemůže správně určit model ovladače (což je mnohem pravděpodobnější, pokud váš ovladač není typu WDM, KMDF, NDIS nebo Storport). Pokud je váš WDK správně nainstalovaný, můžete tuto chybu obejít spuštěním SDV přímo z příkazového řádku (viz Příkazy nástroje pro ověření statického ovladače (MSBuild)).
  • SDV nemohl vyčistit adresář ovladače: V některých případech můžou chyby oprávnění zabránit správnému čištění starých výsledků z adresáře ovladače, když kliknete na tlačítko Vyčistit. K této chybě dojde také v případě, že se aktuálně používají soubory sdv z předchozích spuštění. Ujistěte se, že soubory SDV v adresáři ovladače nepoužíváte, odeberte všechny složky sdv a sdv.temp a všechny soubory staticdv.job.

Pokud SDV při pokusu o analýzu selže, vytiskne se fáze, ve které selhala, do standardního výstupu. Při spuštění SDV z grafického uživatelského rozhraní sady Visual Studio můžete tento výstup zobrazit přepnutím na kartu Upozornění.

Fáze, ve kterých může SDV selhat, jsou:

  • NormalBuild: SDV nemohl sestavit ovladač pomocí standardních příkazů MSBuild. K tomu může dojít, pokud máte specializovanou logiku sestavení, spoléháte na prvky řešení v souboru projektu nebo máte externí součásti sestavení. Pokud váš projekt spoléhá na vlastnost $(SolutionDir), můžete tuto proměnnou zadat přímo tak, že znovu spustíte SDV z příkazového řádku a připojíte ho k příkazovému řádku tak, že na konec příkazu MSBuild přidáte /p:SolutionDir=[váš adresář řešení]. Podívejte se na příkazy nástroje Static Driver Verifier (MSBuild).
  • InterceptedBuild: SDV nemohl sestavit ovladač pro analýzu.
  • Skenování: SDV se nepodařilo najít vstupní body ovladače. Může dojít k chybě, která může naznačovat, že nebyly nalezeny žádné vstupní body, a měli byste aktualizovat typy rolí funkce nebo soubor sdv-map.h. Další informace najdete v tématu Použití deklarací typu role funkce a schválení souboru Sdv-map.h .
  • FinalCompile: SDV nebyl schopen zkompilovat váš ovladač s pravidlem a modelem operačního systému.
  • CheckRule: SDV nemohl správně ověřit pravidlo.

Možná budete moct získat další podrobnosti o chybě povolením diagnostiky pro SDV. Podrobnosti najdete v diagnostice ověření statického ovladače .