Opzioni di Command-Line WinDbg

Gli utenti di WinDbg devono iniziare con la sezione Debug con WinDbg (versione classica).

La riga di comando WinDbg usa la sintassi seguente:

windbg [ -server ServerTransport | -remote ClientTransport ] [-lsrcpath ]
   [ -premote SmartClientTransport ] [-?] [-ee {masm|c++}] 
   [-clines lines] [-b] [-d] [-aExtension]  
   [-failinc] [-g] [-G] [-hd] [-j] [-n] [-noshell] [-o] [-openPrivateDumpByHandle Handle]
   [-Q | -QY] [-QS | -QSY] [-robp] [-secure] [-ses] [-sdce] 
   [-sicv] [-sins] [-snc] [-snul] [-sup] [-sflags 0xNumber] 
   [-T Title] [-v] [-log{o|a} LogFile] [-noinh] 
   [-i ImagePath] [-y SymbolPath] [-srcpath SourcePath] 
   [-k [ConnectType] | -kl | -kx ExdiOptions] [-c "command"] 
   [-pb] [-pd] [-pe] [-pr] [-pt Seconds] [-pv]
   [-W Workspace] [-WF Filename] [-WX] [-zp PageFile] 
   [ -p PID | -pn Name | -psn ServiceName | -z DumpFile | executable ] 

windbg -I[S] 

windbg -IU KeyString

windbg -IA[S] 

Le descrizioni delle opzioni della riga di comando WinDbg seguono. Tutte le opzioni della riga di comando sono distinzione tra maiuscole e minuscole, ad eccezione di -j. Il trattino iniziale può essere sostituito con una barra in avanti (/).

Se viene usata l'opzione -remote o -server , deve essere visualizzata prima di qualsiasi altra opzione nella riga di comando. Se viene specificato un eseguibile , deve essere visualizzato l'ultimo nella riga di comando; qualsiasi testo dopo che il nome eseguibile viene passato al programma eseguibile come parametri della riga di comando.

Parametri

-serverTransport
Crea un server di debug a cui è possibile accedere da altri debugger. Per una spiegazione dei possibili valori ServerTransport , vedere Attivazione di un server di debug. Quando questo parametro viene usato, deve essere il primo parametro della riga di comando.

-RemoteClientTransport
Crea un client di debug e si connette a un server di debug già in esecuzione. Per una spiegazione dei possibili valori ClientTransport , vedere Attivazione di un client di debug. Quando questo parametro viene usato, deve essere il primo parametro della riga di comando.

-premoteSmartClientTransport
Crea un client intelligente e si connette a un server di elaborazione già in esecuzione. Per una spiegazione dei possibili valori SmartClientTransport , vedere Attivazione di un client intelligente.

-un'estensione
Imposta la DLL di estensione predefinita. Il valore predefinito è kdextx86.dll o kdexts.dll. Non è necessario includere spazio dopo l'estensione "a" e l'estensione del nome file .dll non deve essere inclusa. Per informazioni dettagliate e altri metodi di impostazione predefinita, vedere Caricamento delle DLL dell'estensione debugger.

-B
Questa opzione non è più supportata.

-c "command"
Specifica il comando del debugger iniziale da eseguire all'avvio. Questo comando deve essere racchiuso tra virgolette. È possibile separare più comandi con punti e virgola. Se si dispone di un elenco di comandi lungo, potrebbe essere più semplice inserirli in uno script e quindi usare l'opzione -c con il comando $<, $, $, $,><>< $$>< (Esegui file di script).

Se si avvia un client di debug, questo comando deve essere destinato al server di debug. I comandi specifici del client, ad esempio .lsrcpath, non sono consentiti.

Linee -cline
Imposta il numero approssimativo di comandi nella cronologia dei comandi a cui è possibile accedere durante il debug remoto. Per informazioni dettagliate e per altri modi per modificare questo numero, vedere Uso dei comandi del debugger.

-D
(solo modalità kernel) Dopo un riavvio, il debugger si interromperà nel computer di destinazione non appena viene caricato un modulo kernel. Questa interruzione è precedente all'interruzione dall'opzione -b . Per informazioni dettagliate e per altri metodi di modifica dello stato, vedere Arresto anomalo e riavvio del computer di destinazione .

-ee {masm|c++}
Imposta l'analizzatore di espressioni predefinito. Se viene specificato masm, verrà usata la sintassi dell'espressione MASM . Se viene specificato c++ , verrà usata la sintassi delle espressioni C++. Se l'opzione -ee viene omessa, la sintassi dell'espressione MASM viene usata come impostazione predefinita. Per informazioni dettagliate, vedere Valutazione delle espressioni .

-failinc
Causa l'ignorare tutti i simboli interrogativi del debugger. Quando si esegue il debug di un file minidump in modalità utente o in modalità kernel, questa opzione impedisce anche al debugger di caricare tutti i moduli i cui immagini non possono essere mappate. Per informazioni dettagliate e per altri metodi di controllo, vedere SYMOPT_EXACT_SYMBOLS.

-G
(Solo modalità utente) Ignora il punto di interruzione iniziale nell'applicazione di destinazione. Questa opzione causerà l'esecuzione dell'applicazione di destinazione dopo l'avvio o l'associazione WinDbg, a meno che non sia stato impostato un altro punto di interruzione. Per informazioni dettagliate, vedere Punto di interruzione iniziale .

-G
(Solo modalità utente) Ignora il punto di interruzione finale alla terminazione del processo. In genere, la sessione di debug termina durante il processo di esecuzione dell'immagine. Questa opzione causerà la fine della sessione di debug immediatamente al termine del figlio. Questo ha lo stesso effetto dell'immissione del comando sxd epr. Per altre informazioni, vedere Controllo delle eccezioni e degli eventi.

-Hd
(Solo modalità utente) Specifica che l'heap di debug non deve essere usato.

-I[S]
Installa WinDbg come debugger postmortem. Per informazioni dettagliate, vedere Abilitazione del debug postmortem.

Dopo il tentativo di questa azione, viene visualizzato un messaggio di esito positivo o negativo. Se S è incluso, questa procedura viene eseguita in modo invisibile se ha esito positivo; vengono visualizzati solo messaggi di errore.

Il parametro -I non deve essere usato con altri parametri. Questo comando non avvierà effettivamente WinDbg, anche se una finestra WinDbg potrebbe essere visualizzata per un momento.

-IA[S]
Associa WinDbg alle estensioni del file .dmp, .mdmp e .wew nel Registro di sistema. Dopo il tentativo di questa azione, viene visualizzato un messaggio di esito positivo o negativo. Se S è incluso, questa procedura viene eseguita in modo invisibile se ha esito positivo; vengono visualizzati solo messaggi di errore. Dopo aver effettuato questa associazione, selezionare e tenere premuto (o fare clic con il pulsante destro del mouse) un file con una di queste estensioni avvierà WinDbg.

Il parametro -IA non deve essere usato con altri parametri. Questo comando non avvierà effettivamente WinDbg, anche se una finestra WinDbg potrebbe essere visualizzata per un momento.

-IUKeyString
Registra la comunicazione remota del debugger come tipo di URL in modo che gli utenti possano avviare automaticamente un client remoto del debugger con un URL. KeyString ha il formato remdbgeng://RemotingOption. RemotingOption è una stringa che definisce il protocollo di trasporto come definito nell'argomento Attivazione di un client di debug. Se questa azione ha esito positivo, non viene visualizzato alcun messaggio; se ha esito negativo, viene visualizzato un messaggio di errore.

Il parametro -IU non deve essere usato con altri parametri. Anche se una finestra WinDbg può essere visualizzata per un momento, questo comando non avvierà effettivamente WinDbg.

-iImagePath
Specifica il percorso dei file eseguibili che hanno generato l'errore. Se il percorso contiene spazi, deve essere racchiuso tra virgolette.

-J
Consenti il journaling.

-k [ConnectType]
(solo modalità kernel) Avvia una sessione di debug del kernel. Per informazioni dettagliate, vedere Live Kernel-Mode Debug usando WinDbg (versione classica). Se -k viene usato senza alcuna opzione ConnectType seguente, deve essere la voce finale nella riga di comando.

-Kl
(solo modalità kernel) Avvia una sessione di debug del kernel nella stessa macchina del debugger.

-kxExdiOptions
(solo modalità kernel) Avvia una sessione di debug del kernel usando un driver EXDI. Per altre informazioni su EXDI, vedere Configurazione del trasporto debugger EXDI.

-log{o|a} LogFile
Avvia la registrazione delle informazioni in un file di log. Se il file di log specificato esiste già, verrà sovrascritto se viene usato -logo . Se viene usato loga , l'output verrà aggiunto al file. Per altre informazioni, vedere Mantenere un file di log in WinDbg.

-lsrcpath
Imposta il percorso di origine locale per un client remoto. Questa opzione deve seguire -remote nella riga di comando.

-N
Carico di simboli rumorosi: abilita l'output dettagliato dal gestore dei simboli. Per informazioni dettagliate e per altri metodi di controllo, vedere SYMOPT_DEBUG.

-noinh
(Solo modalità utente) Impedisce ai processi creati dal debugger di ereditare handle dal debugger. Per altri metodi di controllo, vedere Debug di un processo di User-Mode tramite WinDbg.

-noprio
Impedisce qualsiasi modifica di priorità. Questo parametro impedirà a WinDbg di prendere priorità per il tempo della CPU durante l'attività.

-noshell
Impedisce tutti i comandi .shell . Questo divieto dura fino a quando il debugger è in esecuzione, anche se viene avviata una nuova sessione di debug. Per informazioni dettagliate e per altri modi per disabilitare i comandi della shell, vedere Uso dei comandi di Shell.

-o
(Solo modalità utente) Esegue il debug di tutti i processi avviati dall'applicazione di destinazione (processi figlio). Per impostazione predefinita, i processi creati da uno che si sta eseguendo il debug verranno eseguiti normalmente.

-openPrivateDumpByHandleHandle
Specifica l'handle di un file di dump di arresto anomalo per il debug.

-p PID
Specifica l'ID processo decimale da eseguire nel debug. Viene usato per eseguire il debug di un processo già in esecuzione.

-Pb
(Solo modalità utente) Impedisce al debugger di richiedere un'interruzione iniziale quando si collega a un processo di destinazione. Questo può essere utile se l'applicazione è già sospesa o se si desidera evitare di creare un thread di interruzione nella destinazione.

-Pd
(Solo modalità utente) Causa la chiusura dell'applicazione di destinazione alla fine della sessione di debug. Per informazioni dettagliate, vedere Fine di una sessione di debug in WinDbg (versione classica).

-Pe
(Solo modalità utente) Indica che l'applicazione di destinazione è già in fase di debug. Per informazioni dettagliate, vedere Riconnessa all'applicazione di destinazione .

-pnName
Specifica il nome del processo da eseguire nel debug. Questo nome deve essere univoco. Viene usato per eseguire il debug di un processo già in esecuzione.

-Pr
(Solo modalità utente) Causa l'avvio del processo di destinazione durante il collegamento al debugger. Ciò può essere utile se l'applicazione è già sospesa e si desidera riprendere l'esecuzione.

-psnServiceName
Specifica il nome di un servizio contenuto nel processo da eseguire il debug. Viene usato per eseguire il debug di un processo già in esecuzione.

-ptSecondi
Specifica il timeout di interruzione, in secondi. Il valore predefinito è 30. Per informazioni dettagliate, vedere Controllo della destinazione .

-Pv
(Solo modalità utente) Specifica che il debugger deve essere collegato al processo di destinazione in modo non invasivo. Per informazioni dettagliate, vedere Debug non invasivo (modalità utente).

-D
Elimina la finestra di dialogo "Salva area di lavoro?" Le aree di lavoro non vengono salvate automaticamente. Per informazioni dettagliate, vedere Uso di aree di lavoro - WinDbg (versione classica).

-QS
Elimina la finestra di dialogo "Ricarica origine?" I file di origine non vengono ricaricati automaticamente.

-QSY
Elimina la finestra di dialogo "Ricarica origine?" e ricarica automaticamente i file di origine.

-QY
Elimina la finestra di dialogo "Salva area di lavoro?" e salva automaticamente le aree di lavoro. Per informazioni dettagliate, vedere Uso di aree di lavoro - WinDbg (versione classica).

-robp
In questo modo, cdB consente di impostare un punto di interruzione in una pagina di memoria di sola lettura. Il valore predefinito è per un'operazione di questo tipo non riuscita.

-sdce
Fa sì che il debugger visualizzi i messaggi di errore di accesso ai file durante il caricamento dei simboli. Per informazioni dettagliate e per altri metodi di controllo, vedere SYMOPT_FAIL_CRITICAL_ERRORS.

-Sicuro
Attiva la modalità sicura.

-Ses
Fa sì che il debugger esegua una valutazione rigorosa di tutti i file di simboli e ignora tutti i simboli interrogativi. Per informazioni dettagliate e per altri metodi di controllo, vedere SYMOPT_EXACT_SYMBOLS.

-sflags 0xNumber
Imposta tutte le opzioni del gestore dei simboli contemporaneamente. Il numero deve essere un numero esadecimale preceduto da 0x - un decimale senza 0x è consentito, ma le opzioni del simbolo sono flag binari e pertanto è consigliabile esadecimale. Questa opzione deve essere usata con attenzione, poiché eseguirà l'override di tutti i valori predefiniti del gestore dei simboli. Per informazioni dettagliate, vedere Impostazione delle opzioni dei simboli.

-sicv
Causa l'ignorare il record CV del gestore dei simboli. Per informazioni dettagliate e per altri metodi di controllo, vedere SYMOPT_IGNORE_CVREC.

-Peccati
Causa l'ignorare il percorso del simbolo e le variabili di ambiente del percorso dell'immagine eseguibile. Per informazioni dettagliate, vedere SYMOPT_IGNORE_NT_SYMPATH.

-Snc
Causa la disattivazione della conversione C++ del debugger. Per informazioni dettagliate e per altri metodi di controllo, vedere SYMOPT_NO_CPP.

-snul
Disabilita il caricamento automatico dei simboli per i nomi non qualificati. Per informazioni dettagliate e per altri metodi di controllo, vedere SYMOPT_NO_UNQUALIFIED_LOADS.

-srcpathSourcePath
Specifica il percorso di ricerca del file di origine. Separare più percorsi con un punto e virgola (;). Se il percorso contiene spazi, deve essere racchiuso tra virgolette. Per informazioni dettagliate e per altri modi per modificare questo percorso, vedere Percorso di origine.

-Sorseggiare
Fa in modo che il gestore dei simboli cerchi la tabella dei simboli pubblici durante ogni ricerca di simboli. Per informazioni dettagliate e per altri metodi di controllo, vedere SYMOPT_AUTO_PUBLICS.

-TTitolo
Imposta il titolo della finestra WinDbg.

-Presso
Abilita l'output dettagliato dal debugger.

-WArea di lavoro
Carica l'area di lavoro denominata specificata. Se il nome dell'area di lavoro contiene spazi, racchiuderlo tra virgolette. Se non esiste alcuna area di lavoro di questo nome, sarà possibile creare una nuova area di lavoro con questo nome o abbandonare il tentativo di caricamento. Per informazioni dettagliate, vedere Uso di aree di lavoro - WinDbg (versione classica).

-WFNome file
Carica l'area di lavoro dal file specificato. Il nome del file deve includere il file e l'estensione (in genere .wew). Se il nome dell'area di lavoro contiene spazi, racchiuderlo tra virgolette. Se non esiste alcun file dell'area di lavoro con questo nome, sarà possibile creare un nuovo file dell'area di lavoro con questo nome o abbandonare il tentativo di caricamento. Per informazioni dettagliate, vedere Uso di aree di lavoro - WinDbg (versione classica).

-WX
Disabilita il caricamento automatico dell'area di lavoro. Per informazioni dettagliate, vedere Uso di aree di lavoro - WinDbg (versione classica).

-ySymbolPath
Specifica il percorso di ricerca dei simboli. Separare più percorsi con un punto e virgola (;). Se il percorso contiene spazi, deve essere racchiuso tra virgolette. Per informazioni dettagliate e per altri modi per modificare questo percorso, vedere Percorso dei simboli.

-zDumpFile
Specifica il nome di un file di dump di arresto anomalo per il debug. Se il percorso e il nome file contengono spazi, questo deve essere circondato da virgolette. È possibile aprire diversi file di dump contemporaneamente, tra cui più opzioni -z , ognuna seguita da un valore DumpFile diverso. Per informazioni dettagliate, vedere Analisi di un file di dump User-Mode o analisi di un filedi dump Kernel-Mode con WinDbg.

-zpPageFile
Specifica il nome di un file di pagina modificato. Questo è utile se si esegue il debug di un file di dump e si vuole usare il comando .pagein (Page In Memory). Non è possibile usare -zp con un file di pagina Windows standard- è possibile usare solo file di pagina appositamente modificati.

Eseguibile
Specifica la riga di comando di un processo eseguibile. Viene usato per avviare un nuovo processo e eseguirne il debug. Questo deve essere l'elemento finale nella riga di comando. Tutto il testo dopo che il nome eseguibile viene passato al file eseguibile come stringa di argomento. Per informazioni dettagliate, vedere Debug di un processo di User-Mode tramite WinDbg.

-?
Visualizza questa finestra della Guida HTML.

Quando si esegue il debugger dalla riga di comando, specificare gli argomenti per l'applicazione di destinazione dopo il nome del file dell'applicazione. Ad esempio:

windbg myexe arg1 arg2