Debug in modalità kernel live con KD

In una finestra del prompt dei comandi è possibile avviare una sessione di debug in modalità kernel attiva quando si avvia KD. Immettere uno dei comandi seguenti.

kd [-y SymbolPath] -k net:port=PortNumber,key=Key[,target=TargetIPAddress|TargetHostName]

kd [-y SymbolPath] -k 1394:channel=1394Channel[,symlink=1394Protocol]

kd [-y SymbolPath] -k usb:targetname=USBString

kd [-y SymbolPath] -k com:port=ComPort,baud=BaudRate

kd [-y SymbolPath] -k com:ipport=SerialTcpIpPort,port=SerialIPAddress

kd [-y SymbolPath] -k com:pipe,port=\\VMHost\pipe\PipeName[,resets=0][,reconnect]

kd [-y SymbolPath] -k com:modem

kd [-y SymbolPath] -kl

kd [-y SymbolPath] -k

Per altre informazioni, vedere Opzioni della riga di comando KD.

Variabili di ambiente

Per eseguire il debug su una connessione seriale (porta COM) o 1394, è possibile usare le variabili di ambiente per specificare le impostazioni di connessione.

Usare le variabili seguenti per specificare una connessione seriale.

set _NT_DEBUG_PORT = ComPort

set _NT_DEBUG_BAUD_RATE = BaudRate

Usare le variabili seguenti per specificare una connessione 1394.

set _NT_DEBUG_BUS = 1394

set _NT_DEBUG_1394_CHANNEL = 1394Channel

set _NT_DEBUG_1394_SYMLINK = 1394Protocol

Per altre informazioni, vedere Variabili di ambiente in modalità kernel.

Parametri

SymbolPath
Elenco di directory in cui si trovano i file di simboli. Le directory nell'elenco sono separate da punti e virgola. Per altre informazioni, vedere Percorso simboli.

PortNumber
Numero di porta da usare per il debug di rete. È possibile scegliere qualsiasi numero compreso tra 49152 e 65535. Per altre informazioni, vedere Configurazione manuale di una connessione di rete.

Chiave
Chiave di crittografia da usare per il debug di rete. È consigliabile usare una chiave generata automaticamente, fornita da bcdedit quando si configura il computer di destinazione. Per altre informazioni, vedere Configurazione manuale di una connessione di rete.

TargetIPAddress
Indirizzo IPv4 del computer di destinazione.

Quando si specifica l'indirizzo IP target=, il debugger avvia una connessione al computer di destinazione specificato inviando un pacchetto speciale alla destinazione, in modo che tenti di connettersi a tale debugger. Il debugger invierà ripetutamente pacchetti alla destinazione ogni mezzo secondo, tentando di connettersi. Se la connessione ha esito positivo, la destinazione rilascia qualsiasi connessione esistente e comunica solo con questa istanza del debugger. In questo modo è possibile sottrarre il controllo della sessione di debug da una connessione di debug esistente.

Quando la destinazione è configurata con un indirizzo IP host e il debugger viene eseguito nel computer con l'indirizzo IP host configurato, non è necessario specificare il parametro target= indirizzo IP. Quando la destinazione è configurata con un indirizzo IP host, invierà pacchetti OFFER all'host ogni tre secondi. I pacchetti OFFER consentono al debugger di connettersi all'host quando non viene specificato alcun indirizzo IP di destinazione= .

Per altre informazioni sulla configurazione dell'indirizzo IP host nella destinazione, vedere Configurazione del debug automatico del kernel di rete KDNET e Configurazione manuale del debug del kernel di rete KDNET.

TargetMachineName
Nome del computer di destinazione. Per usare il nome del computer, il sistema DNS nella rete deve avere il nome del computer associato all'indirizzo IP del PC di destinazione.

1394Channel
Numero di canale 1394. I numeri di canale validi sono interi compresi tra 0 e 62 inclusi. 1394Channel deve corrispondere al numero utilizzato dal computer di destinazione, ma non dipende dalla porta fisica 1394 scelta sulla scheda. Per altre informazioni, vedere Configurazione manuale di una connessione 1394.

1394Protocol
Protocollo di connessione da usare per la connessione kernel 1394. Ciò può essere quasi sempre omesso, perché il debugger sceglierà automaticamente il protocollo corretto. Se vuoi impostare questa impostazione manualmente e il computer di destinazione esegue Windows XP, 1394Protocol deve essere impostato su "channel". Se il computer di destinazione esegue Windows Server 2003 o versione successiva, 1394Protocol deve essere impostato su "instance". Se viene omesso, per impostazione predefinita il debugger verrà impostato sul protocollo appropriato per il computer di destinazione corrente. Questa opzione può essere specificata solo tramite la riga di comando o le variabili di ambiente, non tramite l'interfaccia grafica WinDbg.

USBString
Un stringa di connessione USB. Deve corrispondere alla stringa specificata con l'opzione di avvio /targetname. Per altre informazioni, vedere Configurazione manuale di una connessione USB 3.0 e Configurazione manuale di una connessione USB 2.0.

Comportarsi
Nome della porta COM. Può essere nel formato "com2" o nel formato "\.\com2", ma non deve essere semplicemente un numero. Per altre informazioni, vedere Configurazione manuale di una connessione seriale.

BaudRate
Velocità in baud. Può essere 9600, 19200, 38400, 57600 o 115200.

VMHost
Quando si esegue il debug di una macchina virtuale, VMHost specifica il nome del computer fisico in cui è in esecuzione la macchina virtuale. Se la macchina virtuale è in esecuzione nello stesso computer del debugger del kernel stesso, usare un singolo punto (.) per VMHost. Per altre informazioni, vedere Configurazione di una connessione a una macchina virtuale.

PipeName
Nome della pipe creata dalla macchina virtuale per la connessione di debug.

resets=0
Specifica che un numero illimitato di pacchetti di reimpostazione può essere inviato alla destinazione quando l'host e la destinazione vengono sincronizzati. Questo parametro è necessario solo quando si esegue il debug di determinati tipi di macchine virtuali.

ricollegare
Determina la disconnessione automatica del debugger e la riconnessione della pipe se si verifica un errore di lettura/scrittura. Inoltre, se la named pipe non viene trovata all'avvio del debugger, il parametro di riconnessione causerà la visualizzazione di una pipe di questo nome. Questo parametro è necessario solo quando si esegue il debug di determinati tipi di macchine virtuali.

-Kl
Fa sì che il debugger esegua il debug in modalità kernel locale. Per altre informazioni, vedere Debug in modalità kernel locale.

SerialTcpIpPort
Porta TCP IP di destinazione della porta COM seriale emulata.

SerialIPAddress
Indirizzo IP TCP di destinazione della porta COM seriale emulata.

Esempi:

Il file batch seguente può essere usato per configurare e avviare una sessione di debug tramite una connessione di porta COM.

set _NT_SYMBOL_PATH=d:\mysymbols
set _NT_DEBUG_PORT=com1
set _NT_DEBUG_BAUD_RATE=115200
set _NT_DEBUG_LOG_FILE_OPEN=d:\debuggers\logfile1.log
kd

Il file batch seguente può essere usato per configurare e avviare una sessione di debug tramite una connessione 1394.

set _NT_SYMBOL_PATH=d:\mysymbols
set _NT_DEBUG_BUS=1394
set _NT_DEBUG_1394_CHANNEL=44
set _NT_DEBUG_LOG_FILE_OPEN=d:\debuggers\logfile1.log
kd

È possibile usare le righe di comando seguenti per avviare WinDbg senza variabili di ambiente.

kd -y d:\mysymbols -k com:port=com2,baud=57600

kd -y d:\mysymbols -k com:port=\.\com2,baud=115200

kd -y d:\mysymbols -k 1394:channel=20,symlink=instance

kd -y d:\mysymbols -k net:port=50000,key=AutoGeneratedKey