Esempi di codice di estendibilità KDSerial

Gli strumenti di debug per Windows supportano l'estensione del trasporto seriale KDNET. I moduli di estendibilità del trasporto KDNET vengono sviluppati dai fornitori di hardware per aggiungere il supporto per il debug del kernel a hardware specifico non già supportato.

In generale, le connessioni seriali per il debug sono più lente, quindi l'uso della KDNET su una scheda Ethernet è l'opzione preferita, quando possibile.

Esempi di codice di estendibilità KDSerial

I tre esempi di codice seguenti sono disponibili nella directory di installazione di WDK e mostrano l'uso delle estensioni di trasporto KDNET Serial e KDSerial.

Esempio di KDNET Seriale 16550

L'interfaccia seriale KDNET mostra l'uso dell'hardware dell'interfaccia seriale 16550. Si trova in questa directory.

C:\Program Files (x86)\Windows Kits\10\Debuggers\ddk\samples\kdnet\serial\16550

Quando si testa il codice di esempio KDNET Serial 16550, il cavo seriale deve essere cablato come cavo NULL-MODEM RS232, in cui vengono incrociate le linee Tx-Rx.

Esempio di siig seriale KDNET

L'esempio siig implementa KDNET su porta seriale con controllo di flusso hardware RS-232. Si trova in questa directory.

C:\Program Files (x86)\Windows Kits\10\Debuggers\ddk\samples\kdnet\serial\siig

Quando si testa l'esempio di codice seriale KDNET Siig, il cavo seriale deve essere cablato come un cavo RS-232 diretto.

Esempio KDSerial

Viene illustrato l'uso del trasporto KDSerial più vecchio. Il trasporto KDNET su seriale è preferibile.

C:\Program Files (x86)\Windows Kits\10\Debuggers\ddk\samples\kdserial

Quando si testa l'esempio di codice KDSerial, il cavo seriale deve essere cablato come cavo NULL-MODEM RS232, in cui vengono incrociate le linee Tx-Rx.

Passaggi per distribuire il trasporto seriale di debug del kernel per test

  1. Caricare e compilare il progetto (output kdserial.dll)

  2. Rinominare kdserial.dll in kdcom.dll

  3. Copiare kdcom.dll nel C:\windows\system32\kdcom.dll computer di destinazione (consigliato di creare un backup del kdcom.dll originale prima di sovrascriverlo)

  4. Esecuzione bcdedit /dbgsettings serial debugport:<port> baudrate:<rate> nella destinazione

  5. Esecuzione bcdedit /debug on nella destinazione

  6. Esegui bcdedit /bootdebug on sulla destinazione

  7. Esegui bcdedit /testsigning yes sulla destinazione

  8. Riavviare la destinazione e connettersi al debugger di avvio. Questo passaggio è necessario affinché il nuovo kdcom.dll venga caricato senza una firma Microsoft valida. Se il debugger di avvio non è abilitato e connesso quando viene caricato kdcom.dll, Winload non riuscirà a caricarlo.

NOTA: il kdcom.dll personalizzato non verrà usato per il trasporto del debugger di avvio

  1. Continuare con winload e connettersi al debugger del kernel tramite il trasporto personalizzato kdcom.dll.

Vedere anche

Come sviluppare moduli di estendibilità KDNET

Configurazione automatica del debug del kernel di rete KDNET

Configurazione manuale del debug del kernel di rete KDNET

Configurazione manuale del debug in modalità kernel