A Static Driver Verifier bemutatása

A Static Driver Verifier (SDV) egy statikus ellenőrző eszköz, amely fordításkor fut. Az illesztőprogram-kód elérési útjait a forráskód szimbolikus végrehajtásával vizsgálja meg, és a lehető legkevesebb feltételezést teszi lehetővé az operációs rendszer állapotával és az illesztőprogram kezdeti állapotával kapcsolatban. Ennek eredményeképpen az SDV a hagyományos tesztelés során kihagyott útvonalakon gyakorolhatja a kódot.

Az SDV olyan szabályokat tartalmaz, amelyek meghatározzák az illesztőprogram és az operációs rendszer kernele közötti megfelelő interakciót. Az ellenőrzés során az SDV megvizsgálja az illesztőprogram-kód és a kódtár kódjának minden alkalmazható ágát, és megpróbálja bizonyítani, hogy az illesztőprogram megsérti a szabályokat. Ha az SDV nem bizonyítja a szabálysértést, akkor nyilatkozik arról, hogy a járművezető betartja a szabályokat, és megfelel az ellenőrzésnek.

Ez a szakasz a következőket tartalmazza:

A statikus illesztőprogram-ellenőrző ismertetése

A statikus illesztőprogram-ellenőrzővel kapcsolatos fogalmak

Támogatott illesztőprogramok

Statikus illesztőprogram-ellenőrző korlátozásai

Fontos

Az SDV már nem támogatott, és az SDV nem érhető el a Windows 24H2 WDK-ban vagy az EWDK-kiadásokban. A 26017-es buildnél újabb WDK-kban nem érhető el, és nem szerepel a Windows 24H2 RTM WDK-ban. Az SDV továbbra is használható a Windows 11 22H2 EWDK (2023. október 24-én megjelent) verziójának a Visual Studio 17.1.5-ös buildelési eszközeinek letöltésével a Windows Driver Kit (WDK) letöltéséből. Csak az Enterprise WDK használata ajánlott az SDV futtatásához. A standard WDK régebbi verzióinak használata a Visual Studio legutóbbi kiadásaival együtt nem ajánlott, mivel ez valószínűleg elemzési hibákat fog eredményezni.
A továbbiakban a CodeQL lesz az illesztőprogramok elsődleges statikus elemző eszköze. A CodeQL hatékony lekérdezési nyelvet biztosít, amely a kódot adatbázisként kezeli lekérdezni, így egyszerűen írhat lekérdezéseket adott viselkedések, minták és egyebek céljából. További információ a CodeQL használatáról a következőben található: CodeQL és a Static Tools Logo Test.