Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
SDV má režim diagnostiky, který vám a Microsoftu může pomoct s řešením problémů, se kterými může SDV narazit. Pokud je povolený režim diagnostiky, SDV zaznamenává zprávy do řady souborů ve vašem projektu ovladače, jeden soubor pro každou fázi ověření a pravidlo.
Povolení diagnostiky
Režim diagnostiky pro SDV (označovaný také jako režim ladění) je momentálně možné povolit pouze při spuštění z příkazového řádku. Další podrobnosti o spuštění z příkazového řádku najdete v tématu Příkazy Nástroje pro ověření statického ovladače (MSBuild).
Pokud chcete aktivovat diagnostiku, přidejte příznak /debug za příkaz /check . Například:
msbuild /t:sdv /p:Inputs="/check:* /debug" mydriver.VcxProj /p:Configuration="Release" /p:Platform=x64
Povolení diagnostiky způsobí výrazně větší výstup do příkazového okna a také vytvoření konkrétních souborů protokolu.
Principy diagnostiky
SDV vytvoří v každé fázi provádění několik souborů, které poskytnou podrobnosti o daném kroku. Pokud SDV selže v průběhu provádění, nevytváří žádné diagnostické soubory pro pozdější fáze.
Vytvořené soubory jsou v pořadí:
smvexecute-NormalBuild.log: Nachází se ve zdrojovém adresáři ovladače a zobrazuje výstup počátečního pokusu SDV o sestavení ovladače bez další instrumentace a analýzy.
smvexecute-InterceptedBuild.log: Nachází se ve zdrojovém adresáři vašeho ovladače a zobrazuje výstup z procesu sestavení ovladače prostřednictvím SDV s přidanými háky analýzy.
smvcl.log: Nachází se v adresáři "sdv" vytvořeném v projektu ovladače pomocí SDV. Zobrazuje výstup kompilátoru kroku InterceptedBuild. Pokud se v smvexecute-InterceptedBuild.log zobrazí chyba, možná najdete další podrobnosti v smvcl.log.
smvexecute-Scan.log: Je umístěn v adresáři "sdv", který vytvořilo SDV ve vašem projektu ovladače. Ukazuje výsledek pokusu SDV o skenování ovladače s cílem nalézt vstupní body. 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 .
smvexecute-FinalCompile.log: Jeden z těchto souborů se vytvoří pro každé pravidlo ověřené pomocí sdv a najdete ho v podsložce SDV podsložky sdv\check[název pravidla]" vytvořené v projektu ovladače. Tento soubor ukazuje výstup pokusu ODV sestavit ovladač pomocí modelu operačního systému a konkrétního pravidla.
smvexecute-CheckRule.log: Jeden z těchto souborů se vytvoří pro každé pravidlo ověřené pomocí sdv a najdete ho v podsložce SDV podsložky sdv\check[název pravidla]" vytvořené v projektu ovladače. Tento soubor ukazuje výstup pokusu SDV ověřit zadané pravidlo vůči vašemu ovladači.
Ve výstupu příkazu byste měli vyhledat soubor odpovídající fázi, která je uvedena jako nezdařená. Pokud k chybě došlo v krocích FinalCompile nebo CheckRule , nezapomeňte zkontrolovat složku pro konkrétní pravidlo uvedené jako neúspěšné.