Comandi di verifica driver statici (MSBuild)

È possibile eseguire il verifica driver statico (SDV) in una finestra del prompt dei comandi di Visual Studio , tramite l'installazione di Windows Driver Kit (WDK) o eseguendo Enterprise Windows Driver Kit (EWDK). Passare alla directory in cui è archiviato il file di progetto del driver o il file di progetto della libreria. I parametri possono essere visualizzati in qualsiasi ordine nella riga di comando.

Nota

SDV è integrato in Visual Studio all'installazione di WDK e può anche essere eseguito dall'IDE tramite il menu "Driver".

msbuild /t:sdv /p:Inputs="Parameters" ProjectFile /p:Configuration=configuration /p:Platform=platform

È necessario selezionare una configurazione versione( ad esempio /p:Configuration="Windows 7 Release"). Per l'elenco delle configurazioni di versione supportate, vedere Compilazione di un driver. La piattaforma può essere Win32 (per x86) o x64 ,ad esempio /p:Platform=Win32.

Nota

Assicurarsi di controllare il piano di risparmio energia del computer per assicurarsi che il computer non andrà in uno stato di sospensione durante l'analisi.

Parametri

/Scansione

Analizza il codice sorgente del driver per le dichiarazioni del tipo di ruolo della funzione. Per informazioni su come dichiarare il driver fornito funzioni di callback e routine di invio, vedere Uso delle dichiarazioni di tipo ruolo funzione. Durante questa analisi, SDV tenta di rilevare i punti di ingresso del driver necessari per verificare il driver. Registra i risultati dell'analisi in Sdv-map.h, un file creato nella directory del progetto del driver.

Per altre informazioni, vedere Preparazione del codice sorgente.

/check:Rule | ,...

Avvia una verifica con le regole specificate. È possibile specificare più regole separando ogni regola con una virgola. Eseguire il comando /check: e specificare il file di progetto di Visual Studio del driver (*.vcxproj).

La regola è il nome di una regola o di un modello di nome regola che include caratteri jolly (*) per rappresentare uno o più caratteri. Se usato da solo, il carattere jolly (*) rappresenta tutte le regole.

/check:RuleList.sdv

Avvia una verifica con le regole nel file dell'elenco di regole specificato. È possibile elencare un solo file con questo parametro. Nel file di elenco regole ogni riga può essere il nome di una regola o può essere un carattere jolly (*), che rappresenta tutte le regole SDV. Eseguire /check:RuleList.sdv e specificare il file di progetto di Visual Studio del driver (*.vcxproj).

RuleList.sdv è il percorso completo e il nome file di un file di elenco regole. Il file deve avere l'estensione del nome file sdv . A meno che il file non si trova nella directory locale, è necessario il percorso. Se il percorso o il nome del file include spazi, è necessario racchiudere RuleList.sdv nelle virgolette.

Se si specifica l'opzione /check: senza specificare una regola, SDV viene eseguita con la regola predefinita impostata per il modello di driver.

/Lib

Elabora la libreria nella directory corrente. SDV chiama MSBuild.exe per compilare e compilare la libreria per l'uso esterno e genera i file necessari per includere la libreria nella verifica del driver.

Usare questo parametro prima di verificare i driver che richiedono la libreria. Eseguire il comando msbuild /t:sdv /p:Inputs="/lib" e specificare il file di progetto di Visual Studio (*.vcxproj) per la libreria.

Per altre informazioni sull'uso e sull'effetto del parametro /lib , vedere Elaborazione della libreria in Verifica driver statici.

/Mostra

Apre il verificatore del driver statico. Eseguire i comandi /view e specificare il file di progetto di Visual Studio del driver (*.vcxproj).

I risultati sono disponibili non appena viene completata una verifica e rimangono disponibili finché non si usa un comando /clean per eliminare i file SDV dalla directory del progetto del driver.

/Pulito

Elimina i file SDV dalla directory. Poiché questi file vengono usati per generare la visualizzazione del report del driver statico, il comando /clean elimina anche il report della verifica.

Eseguire un comando /clean e specificare il file di progetto di Visual Studio (*.vcxproj) per il driver o la libreria. Il comando elimina i file SDV solo per il progetto specificato.

Eseguire un comando /clean per un progetto driver prima di ogni verifica.

Eseguire un comando /clean per una libreria quando i file di libreria sono obsoleti, ad esempio quando il codice della libreria cambia.

Un comando /clean non rimuove il file Sdv-map.h, se il flag approvato è impostato su true nel file Sdv-map.h (Approvato=true). SDV può quindi usare questo file per le verifiche future.

/?

Visualizza l'utilizzo per i comandi SDV. I comandi che usano questo parametro non devono essere eseguiti in una finestra dell'ambiente di compilazione.

Commenti

L'esecuzione di msbuild /t:/sdv p:/Inputs= /? senza parametri visualizza l'utilizzo per i comandi SDV.

Un comando /clean elimina i file usati da SDV per creare la visualizzazione del report del driver statico per una verifica. Dopo l'esecuzione di questo comando, la visualizzazione del report del driver statico per la verifica non è più disponibile.

Esempio

Per eseguire SDV usando tutte le regole nei file driver nella directory locale per il progetto mydriver:

msbuild /t:sdv /p:Inputs="/check:*" mydriver.VcxProj /p:Configuration="Windows 7 Release"/p:Platform=Win32

Per eseguire SDV usando la regola CancelSpinLock nei file driver nella directory locale:

msbuild /t:sdv /p:Inputs="/check:CancelSpinLock" mydriver.VcxProj /p:Configuration="Windows 7 Release" /p:Platform=Win32

Per eseguire SDV usando la regola specificata nel file elenco regole Rules1.sdv nella directory D:\SDV:

msbuild /t:sdv /p:Inputs="/check:D:\SDV\Rules1.sdv" mydriver.VcxProj /p:Configuration="Windows 7 Release" /p:Platform=Win32

Per eseguire di nuovo SDV, questa volta usando l'opzione /clean:

msbuild /t:sdv /p:Inputs="/clean" mydriver.VcxProj /p:Configuration="Windows 7 Release"/p:Platform=Win32

Per visualizzare Il verifica driver statico in modo che sia possibile visualizzare i risultati per la verifica più recente del driver nella directory locale:

msbuild /t:sdv /p:Inputs="/view" mydriver.VcxProj /p:Configuration="Windows 7 Release" /p:Platform=Win32

Uso del verificatore di driver statici per trovare i difetti nei driver Windows