Configurazione manuale del debug in modalità kernel su un cavo seriale
Gli strumenti di debug per Windows supportano il debug del kernel tramite un cavo modem Null. I cavi modem Null sono cavi seriali configurati per l'invio di dati tra due porte seriali. Non confondere i cavi null-modem con cavi seriali standard. I cavi seriali standard non connettono le porte seriali l'una all'altra. Per informazioni sul modo in cui i cavi modem Null sono cablati, vedere Collegamento via cavo Null-Modem.
Il computer che esegue il debugger viene chiamato computer host e il computer sottoposto a debug viene chiamato computer di destinazione.
Configurazione del computer di destinazione
Importante
Prima di usare bcdedit per modificare le informazioni di avvio, potrebbe essere necessario sospendere temporaneamente le funzionalità di sicurezza di Windows, ad esempio BitLocker e Avvio protetto nel PC di test. È possibile riabilitare l'avvio protetto dopo aver completato il debug e aver disabilitato il debug del kernel.
Nel computer di destinazione aprire una finestra del prompt dei comandi come Amministratore e immettere i comandi seguenti, dove n è il numero della porta COM usata per il debug nel computer di destinazione e la frequenza è la velocità baud usata per il debug:
bcdedit /debug on
bcdedit /dbgsettings serial debugport:n baudrate:rate
Nota La velocità baud deve essere la stessa nel computer host e nel computer di destinazione. La tariffa consigliata è 115200.
Riavviare il computer di destinazione.
Avvio della sessione di debug
Connettere il cavo modem Null alle porte COM scelte per il debug nei computer host e di destinazione.
Uso di WinDbg
Nel computer host aprire WinDbg. Scegliere Debug kernel dal menu File. Nella finestra di dialogo Debug kernel aprire la scheda COM . Nella casella Velocità baud immettere la frequenza scelta per il debug. Nella casella Porta immettere COMn dove n è il numero di porta COM scelto per il debug nel computer host. Seleziona OK.
È anche possibile avviare una sessione con WinDbg immettendo il comando seguente in una finestra del prompt dei comandi; n è il numero della porta COM usata per il debug nel computer host e la frequenza è la velocità baud usata per il debug:
windbg -k com:port=COMn,baud=rate
Uso di KD
Nel computer host aprire una finestra del prompt dei comandi e immettere il comando seguente, dove n è il numero della porta COM usata per il debug nel computer host e la frequenza è la velocità baud usata per il debug:
kd -k com:port=COMn,baud=rate
Uso delle variabili di ambiente
Nel computer host è possibile usare le variabili di ambiente per specificare la porta COM e la velocità baud. Non è quindi necessario specificare la porta e la frequenza baud ogni volta che si avvia una sessione di debug. Per usare le variabili di ambiente per specificare la porta COM e la velocità in baud, aprire una finestra del prompt dei comandi e immettere i comandi seguenti, dove n è il numero della porta COM usata per il debug nel computer host e la frequenza è la velocità baud usata per il debug:
- set _NT_DEBUG_PORT=COMn
- set _NT_DEBUG_BAUD_RATE=rate
Per avviare una sessione di debug, aprire una finestra del prompt dei comandi e immettere uno dei comandi seguenti:
- Kd
- vento
Suggerimenti per la risoluzione dei problemi relativi al debug su un cavo seriale
Specificare la porta COM corretta sia nell'host che nella destinazione
Determinare il numero di porte COM in uso per il debug nei computer host e di destinazione. Si supponga, ad esempio, di avere il cavo modem Null collegato a COM1 nel computer host e COM2 nel computer di destinazione.
Nel computer di destinazione aprire una finestra del prompt dei comandi come amministratore e immettere bcdedit /dbgsettings. Se si usa COM2 nel computer di destinazione, l'output di bcdedit dovrebbe mostrare debugport 2
.
Nel computer host specificare la porta COM corretta quando si avvia il debugger o quando si impostano le variabili di ambiente. Se si usa COM1 nel computer host, utilizzare uno dei metodi seguenti per specificare la porta COM.
- In WinDbg, nella finestra di dialogo Debug kernel immettere COM1 nella casella Porta .
- windbg -k com:port=COM1, ...
- kd -k com:port=COM1, ...
- set _NT_DEBUG_PORT=COM1
La velocità baud deve essere la stessa nell'host e nella destinazione
La velocità baud utilizzata per il debug su un cavo seriale deve essere impostata sullo stesso valore nei computer host e di destinazione. Si supponga, ad esempio, di aver scelto una velocità baud pari a 115200.
Nel computer di destinazione aprire una finestra del prompt dei comandi come amministratore e immettere bcdedit /dbgsettings. L'output di bcdedit dovrebbe mostrare baudrate 115200
.
Nel computer host specificare la velocità di baud corretta all'avvio del debugger o quando si impostano le variabili di ambiente. Utilizzare uno dei metodi seguenti per specificare una velocità baud pari a 115200.
- Nella finestra di dialogo Debug kernel in WinDbg immettere 115200 nella casella Velocità baud.
- windbg -k ..., baud=115200
- kd -k ..., baud=115200
- set _NT_DEBUG_BAUD_RATE=115200
Cavo modem Null
Nelle tabelle seguenti viene illustrato il modo in cui i cavi modem Null sono cablati.
Connettore a 9 pin
Connettore 1 | Connettore 2 | Segnali |
---|---|---|
2 | 3 | Tx - Rx |
3 | 2 | Rx - Tx |
7 | 8 | RTS - CTS |
8 | 7 | CTS - RTS |
4 | 1+6 | DTR - (CD+DSR) |
1+6 | 4 | (CD+DSR) - DTR |
5 | 5 | Terra segnale |
Connettore a 25 pin
Connettore 1 | Connettore 2 | Segnali |
---|---|---|
2 | 3 | Tx - Rx |
3 | 2 | Rx - Tx |
4 | 5 | RTS - CTS |
5 | 4 | CTS - RTS |
6 | 20 | DSR - DTR |
20 | 6 | DTR - DSR |
7 | 7 | Terra segnale |
Abbreviazioni dei segnali
Abbreviazione | Segnale |
---|---|
Trans. | Trasmettere i dati |
Rx | Ricevere dati |
RTS | Richiesta di invio |
CTS | Cancella per l'invio |
DTR | Terminale dati pronto |
DSR | Set di dati pronto |
CD | Rilevamento del gestore telefonico |
Informazioni aggiuntive
Per la documentazione completa del comando bcdedit, vedere Informazioni di riferimento sulle opzioni BCDEdit.