Driver Verifier statico

Static Driver Verifier (noto anche come "StaticDV" o "SDV") è uno strumento di verifica statico che analizza sistematicamente il codice sorgente dei driver in modalità kernel di Windows. SDV è uno strumento in fase di compilazione in grado di individuare difetti e problemi di progettazione in un driver. In base a un set di regole di interfaccia e a un modello del sistema operativo, SDV determina se il driver interagisce correttamente con il kernel del sistema operativo Windows.

Installazione di Static Driver Verifier

Static Driver Verifier è disponibile come parte di Windows Driver Kit (WDK) sia nell'esperienza WDK completa che nel WDK Enterprise autonomo. Inoltre, per l'esecuzione di SDV sono necessari i pacchetti Visual C++ Redistributable per Visual Studio. Vedere la documentazione seguente:

Per le versioni di SDV disponibili in WDK per Windows 10, versione 1809 o precedente, i pacchetti Visual C++ Redistributable per Visual Studio 2012 devono essere installati anziché i pacchetti 2017.

Visual Studio Integration

Static Driver Verifier è integrato in Visual Studio. È possibile eseguire l'analisi statica nel progetto driver di Visual Studio. È possibile avviare, configurare e controllare Static Driver Verifier dal menu Driver in Visual Studio.

Documentazione di Static Driver Verifier

Ricerca di bug nel codice del driver di Windows

Microsoft usa SDV per testare i driver in modalità kernel inclusi nel sistema operativo Microsoft Windows e per testare i driver di esempio in WDK. Usando le regole di conformità DDI per modelli di driver specifici, SDV può verificare il comportamento corretto del driver. Ad esempio, SDV può verificare che il driver:

  • Chiama le funzioni nel runtime di integrazione corretto
  • Acquisisce e rilascia blocchi nella sequenza corretta
  • Usa correttamente le funzioni che gestiscono i pacchetti di richiesta di I/O (IRP)

SDV esamina tutti i percorsi possibili tramite il codice del driver. È progettato per trovare errori gravi in percorsi oscuri che probabilmente non si riscontrano anche in test approfonditi.

Risorse aggiuntive

Per informazioni specifiche sui driver che SDV possono verificare, vedere Driver supportati

Per altre informazioni e suggerimenti sull'uso di Static Driver Verifier, vedere quanto segue: