Opzioni della riga di comando KD
La prima volta che gli utenti di KD iniziano con la sezione Debug con KD e NTKD .
La riga di comando KD usa la sintassi seguente.
kd [ -server ServerTransport | -remote ClientTransport ]
[-b | -x] [-d] [-bonc] [-m] [-myob] [-lines] [-n] [-r] [-s]
[-v] [-clines lines] [-failinc] [-noio] [-noshell]
[-secure] [-sdce] [-ses] [-sicv] [-sins] [-snc] [-snul]
[-sup] [-sflags 0xNumber] [-log{a|au|o|ou} LogFile]
[-aExtension] [-zp PageFile]
[-i ImagePath] [-y SymbolPath] [-srcpath SourcePath]
[-k ConnectType | -kl | -kqm | -kx ExdiOptions] [-ee {masm|c++}]
[-z DumpFile] [-cf "filename"] [-cfr "filename"] [-c "command"]
[-t PrintErrorLevel] [-version]
kd -iu KeyString
kd -QR Server
kd -wake PID
kd -?
Le descrizioni delle opzioni della riga di comando KD seguono. Solo le opzioni -remote e -server fanno distinzione tra maiuscole e minuscole . Il trattino iniziale può essere sostituito con una barra (/). Le opzioni che non accettano parametri aggiuntivi possono essere concatenate, quindi kd -r -n -v può essere scritto come kd -rnv.
Se viene usata l'opzione -remote o -server , deve essere visualizzata prima di qualsiasi altra opzione nella riga di comando.
Parametri
-server ServerTransport
Crea un server di debug accessibile da altri debugger. Per una spiegazione del possibile 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.
-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.
-bonc
Se si specifica questa opzione, il debugger si interromperà nella destinazione non appena inizia la sessione. Ciò è particolarmente utile quando ci si connette a un server di debug che potrebbe non essere attualmente suddiviso nella destinazione.
-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.
-cf "filename"
Specifica il percorso e il nome di un file di script. Questo file di script viene eseguito non appena viene avviato il debugger. Se il nome file contiene spazi, deve essere racchiuso tra virgolette. Se il percorso viene omesso, viene usata la directory corrente. Se l'opzione -cf non viene usata, il file ntsd.ini nella directory corrente viene usato come file di script. Se il file non esiste, non si verifica alcun errore. Per informazioni dettagliate, vedere Uso di file di script.
-cfr "filename"
Specifica il percorso e il nome di un file di script. Questo file di script viene eseguito non appena viene avviato il debugger e ogni volta che viene riavviata la destinazione. Se il nome file contiene spazi, deve essere racchiuso tra virgolette. Se il percorso viene omesso, viene usata la directory corrente. Se il file non esiste, non si verifica alcun errore. Per informazioni dettagliate, vedere Uso di file di script.
-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
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.
-io ImagePath
Specifica il percorso dei file eseguibili che hanno generato l'errore. Se il percorso contiene spazi, deve essere racchiuso tra virgolette.
-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. Questo comando non avvierà effettivamente KD.
-Okay ConnectType
Indica al debugger come connettersi alla destinazione. Per informazioni dettagliate, vedere Debug con KD e NTKD.
-Kl
Avvia una sessione di debug del kernel nello stesso computer del debugger.
-kqm
Avvia KD in modalità non interattiva.
-kx ExdiOptions
Avvia una sessione di debug del kernel usando un driver EXDI. I driver EXDI non sono descritti in questa documentazione. Se si dispone di un'interfaccia EXDI per il probe hardware o il simulatore hardware, contattare Microsoft per informazioni di debug.
-poema
Abilita il debug della riga di origine. Se questa opzione viene omessa, sarà necessario usare il comando .lines (Toggle Source Line Support) prima del debug dell'origine. Per altri metodi di controllo, vedere SYMOPT_LOAD_LINES.
-log{a|au|o|ou} LogFile
Inizia la registrazione delle informazioni in un file di log. Se LogFile esiste già, verrà sovrascritto se viene usato -logo o l'output verrà aggiunto al file se si usa -loga . Le opzioni -loproj e -logou funzionano rispettivamente come -loga e -logo , ad eccezione del fatto che il file di log è un file Unicode. Per altri dettagli, vedere Mantenimento di un file di log in KD.
-m
Indica che la porta seriale è connessa a un modem. Indica al debugger di controllare il segnale di rilevamento del gestore telefonico.
-Myob
Se si verifica una mancata corrispondenza della versione con dbghelp.dll, il debugger continuerà a essere eseguito. Senza l'opzione -myob , questo è considerato un errore irreversibile.
Un effetto secondario di questa opzione è che l'avviso visualizzato normalmente quando si interrompe nel computer di destinazione viene eliminato.
-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.
-noio
Impedisce l'uso del server di debug per l'input o l'output. L'input verrà accettato solo dal client di debug (più qualsiasi comando iniziale o script di comando specificato dall'opzione della riga di comando -c ).
Tutto l'output verrà indirizzato al client di debug. Per altri dettagli, vedere Attivazione di un server di debug.
-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.
-QR Server
Elenca tutti i server di debug in esecuzione nel server di rete specificato. La doppia barra rovesciata (\\) precedente server è facoltativa. Per informazioni dettagliate, vedere Ricerca di server di debug.
Il parametro -QR non deve essere usato con altri parametri. Questo comando non avvierà effettivamente KD.
-r
Visualizza i registri.
-s
Disabilita il caricamento di simboli lazy. Questo rallenterà l'avvio del processo. Per informazioni dettagliate e per altri metodi di controllo, vedere SYMOPT_DEFERRED_LOADS.
-sdce
Fa sì che il debugger visualizzi le finestre di dialogo 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 0xNumero
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 PrintErrorLevel
Specifica il livello di errore che causerà la visualizzazione di un messaggio di errore da parte del debugger. Si tratta di un numero decimale uguale a 0, 1, 2 o 3. Ecco le descrizioni dei valori:
Valore | Costante | Significato |
---|---|---|
0 |
NONE |
Non visualizzare errori. |
1 |
ERROR |
Visualizzare gli eventi di debug a livello di ERRORE. |
2 |
MINORERROR |
Visualizzare gli eventi di debug a livello DI ERRORE e MINORERROR. |
3 |
AVVISO |
Visualizzare eventi di debug a livello DI AVVISO, MINORERROR e ERROR. |
Questo livello di errore ha significato solo nelle build controllate di Microsoft Windows. Il valore predefinito è 1. Le build controllate erano disponibili nelle versioni precedenti di Windows, precedenti a Windows 10 versione 1803.
-v
Genera messaggi dettagliati per carichi, caricamenti posticipati e scaricamenti.
-Versione
Stampa la stringa di versione del debugger.
-svegliare PID
Fa sì che la modalità sospensione venga terminata per il debugger in modalità utente il cui ID processo è specificato da PID. Questo comando deve essere eseguito nel computer di destinazione durante la modalità sospensione. Per informazioni dettagliate, vedere Controllo del debugger in modalità utente dal debugger del kernel.
Il parametro -wake non deve essere usato con altri parametri. Questo comando non avvierà effettivamente KD.
-x
Fa sì che il debugger si interrompa quando si verifica per la prima volta un'eccezione, anziché lasciare che l'applicazione o il modulo che ha causato la gestione dell'eccezione. (uguale a -b, tranne con un eb nt iniziale ! NtGlobalFlag 9; comando g .
-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à kernel con KD.
-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 windows standard. È possibile usare solo file di pagina modificati appositamente.
-?
Visualizza il testo della Guida della riga di comando.
KD rileverà automaticamente la piattaforma in cui è in esecuzione la destinazione. Non è necessario specificare la destinazione nella riga di comando KD. La sintassi precedente (usando il nome I386KD o IA64KD) è obsoleta.