Condividi tramite


Verifica driver 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.

Importante

SDV non è più supportato e SDV non è disponibile nelle versioni WDK o EWDK di Windows 24H2. Non è disponibile in WDK più recente rispetto alla build 26017 e non è incluso in Windows 24H2 RTM WDK. Per scaricare SDV, basta scaricare Windows 11 versione 22H2 di EWDK (rilasciata il 24 ottobre 2023) con Visual Studio build tools 17.1.5 da Scarica il Kit di Sviluppo Driver per Windows (WDK). Si raccomanda solo l'uso di Enterprise WDK per eseguire SDV. L'uso di versioni precedenti del WDK standard in combinazione con le versioni recenti di Visual Studio non è consigliato, in quanto ciò genererà probabilmente errori di analisi.
In futuro, CodeQL sarà lo strumento di analisi statico principale per i driver. CodeQL offre un linguaggio di query potente che considera il codice come database su cui eseguire query, semplificando la scrittura di query per comportamenti, modelli e altro ancora specifici. Per ulteriori informazioni sull'uso di CodeQL, vedere CodeQL e il logo di Static Tools.

Installazione del verificatore di driver statici

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

Integrazione di Visual Studio

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 driver specifici, SDV può verificare il comportamento corretto del driver. Ad esempio, SDV può verificare che il driver:

  • Chiama le funzioni al corretto livello IRQL
  • 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 possibili percorsi attraverso il codice del driver. È progettato per trovare errori gravi in percorsi oscuri che potrebbero non essere rilevati anche in test approfonditi.

Risorse aggiuntive

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

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