Opzioni della riga di comando di WinDbg
La prima volta che gli utenti di WinDbg iniziano con la sezione Debug con WinDbg (versione classica).
La riga di comando di 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 fanno distinzione tra maiuscole e minuscole, ad eccezione di -j. Il trattino iniziale può essere sostituito con una barra (/).
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 per ultimo nella riga di comando. Qualsiasi testo dopo che il nome eseguibile viene passato al programma eseguibile come parametri della riga di comando.
Parametri
-server ServerTransport
Crea un server di debug accessibile da altri debugger. Per una spiegazione dei possibili valori di ServerTransport , vedere Attivazione di un server di debug. Quando si usa questo parametro, deve essere il primo parametro nella riga di comando.
-remoto ClientTransport
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 si usa questo parametro, deve essere il primo parametro nella riga di comando.
-premote SmartClientTransport
Crea un client intelligente e si connette a un server di elaborazione già in esecuzione. Per una spiegazione dei possibili valori di SmartClientTransport , vedere Attivazione di un smart client.
-un Estensione
Imposta la DLL di estensione predefinita. Il valore predefinito è kdextx86.dll o kdexts.dll. Non deve essere presente spazio dopo "a" e l'estensione del nome file .dll non deve essere inclusa. Per informazioni dettagliate e altri metodi di impostazione predefinita, vedere Caricamento di DLL dell'estensione del debugger.
-b
Questa opzione non è più supportata.
-c " comando "
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 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.
-clines poema
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 dell'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 si specifica masm , verrà usata la sintassi delle espressioni MASM. Se si specifica 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
Fa in modo che il debugger ignori eventuali simboli discutibili. Quando si esegue il debug di un file minidump in modalità utente o in modalità kernel, questa opzione impedisce anche al debugger di caricare i moduli di cui non è possibile eseguire il mapping delle immagini. 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à la continua esecuzione dell'applicazione di destinazione dopo l'avvio o il collegamento a 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 immediata della sessione di debug quando l'elemento figlio termina. Questo ha lo stesso effetto di immettere il comando sxd epr. Per altre informazioni, vedere Controllo di eccezioni ed eventi.
-disco rigido
(solo modalità utente) Specifica che l'heap di debug non deve essere utilizzato.
-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 automaticamente se ha esito positivo; vengono visualizzati solo i 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 di 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 automaticamente se ha esito positivo; vengono visualizzati solo i messaggi di errore. Dopo aver creato 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.
-UI KeyString
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 l'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.
-io ImagePath
Specifica il percorso dei file eseguibili che hanno generato l'errore. Se il percorso contiene spazi, deve essere racchiuso tra virgolette.
-j
Consenti inserimento nel journal.
-k [ConnectType]
(solo modalità kernel) Avvia una sessione di debug del kernel. Per informazioni dettagliate, vedere Debug in modalità kernel live con WinDbg (versione classica). Se -k viene usato senza alcuna opzione ConnectType successiva, deve essere la voce finale nella riga di comando.
-Kl
(solo modalità kernel) Avvia una sessione di debug del kernel nello stesso computer del debugger.
-kx ExdiOptions
(solo modalità kernel) Avvia una sessione di debug del kernel usando un driver EXDI. Per altre informazioni su EXDI, vedere Configuring the EXDI Debugger Transport.For more information about EXDI, see Configuring the EXDI Debugger Transport.
-log{o|a} LogFile
Inizia la registrazione delle informazioni in un file di log. Se il file di log specificato esiste già, verrà sovrascritto se viene usato -logo . Se si usa loga , l'output verrà aggiunto al file. Per altre informazioni, vedere Mantenimento di 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
Caricamento 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 in modalità utente tramite WinDbg.
-noprio
Impedisce qualsiasi modifica di priorità. Questo parametro impedirà a WinDbg di assumere la priorità per il tempo di CPU mentre è attivo.
-noshell
Impedisce tutti i comandi della shell . Questo divieto durerà finché 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 della 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 quello di cui si sta eseguendo il debug verranno eseguiti normalmente.
-openPrivateDumpByHandle Maneggiare
Specifica l'handle di un file di dump di arresto anomalo del sistema di cui eseguire il debug.
-p PID
Specifica l'ID del processo decimale da eseguire per il 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 durante il collegamento a un processo di destinazione. Ciò 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) Fa sì che l'applicazione di destinazione non venga terminata alla fine della sessione di debug. Per informazioni dettagliate, vedere Terminare 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 Ricollegamento all'applicazione di destinazione.
-Pn Nome
Specifica il nome del processo di cui eseguire il debug. Questo nome deve essere univoco. Viene usato per eseguire il debug di un processo già in esecuzione.
-Pr
(solo modalità utente) Fa sì che il debugger avvii il processo di destinazione in esecuzione quando viene collegato. Ciò può essere utile se l'applicazione è già sospesa e si vuole riprendere l'esecuzione.
-Psn ServiceName
Specifica il nome di un servizio contenuto nel processo di cui eseguire il debug. Viene usato per eseguire il debug di un processo già in esecuzione.
-Pt Secondi
Specifica il timeout di interruzione, espresso in secondi. Il valore predefinito è 30. Per informazioni dettagliate, vedere Controllo della destinazione .
-Pv
(solo modalità utente) Specifica che il debugger deve connettersi al processo di destinazione in modo non invasivo. Per informazioni dettagliate, vedere Debug non invasivo (modalità utente).
-Q
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
Ciò consente a CDB di impostare un punto di interruzione in una pagina di memoria di sola lettura. L'impostazione predefinita è che un'operazione di questo tipo non riesca.
-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à protetta.
-Ses
Fa sì che il debugger esegua una valutazione rigorosa di tutti i file di simboli e ignori eventuali simboli discutibili. Per informazioni dettagliate e per altri metodi di controllo, vedere SYMOPT_EXACT_SYMBOLS.
-sflags 0x Numero
Imposta tutte le opzioni del gestore di 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, perché eseguirà l'override di tutti i valori predefiniti del gestore dei simboli. Per informazioni dettagliate, vedere Impostazione delle opzioni dei simboli.
-sicv
Fa in modo che il gestore dei simboli ignori il record CV. Per informazioni dettagliate e per altri metodi di controllo, vedere SYMOPT_IGNORE_CVREC.
-peccati
Fa sì che il debugger ignori il percorso del simbolo e le variabili di ambiente del percorso dell'immagine eseguibile. Per informazioni dettagliate, vedere SYMOPT_IGNORE_NT_SYMPATH.
-snc
Determina la disattivazione della conversione C++da parte 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.
-srcpath SourcePath
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 esequisi la tabella dei simboli pubblici durante ogni ricerca di simboli. Per informazioni dettagliate e per altri metodi di controllo, vedere SYMOPT_AUTO_PUBLICS.
-T Titolo
Imposta il titolo della finestra WinDbg.
-v
Abilita l'output dettagliato dal debugger.
-W Workspace
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).
-WF Filename
Carica l'area di lavoro dal file specificato. Il nome 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).
-y SymbolPath
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 simbolo.
-z DumpFile
Specifica il nome di un file di dump di arresto anomalo del sistema di cui eseguire il debug. Se il percorso e il nome file contengono spazi, questo deve essere racchiuso tra virgolette. È possibile aprire più file di dump contemporaneamente includendo più opzioni -z, ognuna seguita da un valore DumpFile diverso. Per informazioni dettagliate, vedere Analisi di un file di dump in modalità utente o analisi di un file di dump in modalità kernel con WinDbg.
-zp PageFile
Specifica il nome di un file di pagina modificato. Ciò è utile se si esegue il debug di un file dump e si vuole usare il comando .pagein (Page In Memory). Non è possibile usare -zp con un file di pagina Di 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 ed eseguirne il debug. 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 in modalità utente con WinDbg.
-?
Viene visualizzata 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 file dell'applicazione. Ad esempio:
windbg myexe arg1 arg2