Esempi di server di connessione KD

Si supponga che un tecnico di debug non sia presente nel sito in cui si trova il computer da eseguire. Il tecnico di debug chiede a un utente del sito di connettere il computer di destinazione ad un altro computer con un cavo di debug.

Lasciare che questo altro computer sia all'indirizzo IP 127.0.0.42. Il cavo di debug connette COM1 in questo computer a qualsiasi porta abilitata per il debug nel computer di destinazione. Il server di connessione KD viene avviato con questo comando:

E:\Debugging Tools for Windows> kdsrv -t tcp:port=1027

Quindi, nell'altra posizione, il tecnico avvia WinDbg come client intelligente con questo comando:

G:\Debugging Tools> windbg -k kdsrv:server=@{tcp:server=127.0.0.42,port=1027},trans=@{com:port=com1,baud=57600} -y SymbolPath

Il percorso del simbolo sarà relativo al computer in cui è in esecuzione il client intelligente.

Di seguito è riportato un altro esempio. In questo caso viene scelto il protocollo NPIPE e viene usato KD anziché WinDbg. Il primo utente sceglie un nome di pipe. Può trattarsi di qualsiasi stringa alfanumerica, in questo esempio "KernelPipe". Il primo utente apre una finestra del prompt dei comandi con privilegi elevati (Esegui come amministratore) e avvia un server di debug immettendo questi comandi:

E:\Debugging Tools for Windows> set _NT_DEBUG_PORT=com1
E:\Debugging Tools for Windows> kdsrv -t npipe:pipe=KernelPipe

Il tecnico è connesso al computer client con un account che non ha accesso al computer server. Ma il tecnico conosce il nome utente e la password per un account che ha accesso al computer server. Il nome utente per tale account è Contoso. Il tecnico immette il comando seguente:

net use \\BOX17\ipc$ /user:Contoso

Quando richiesto, il tecnico immette la password per l'account Contoso.

Il tecnico non è sicuro del nome usato per la named pipe, quindi esegue una query 127.0.0.42 per i server di connessione KD:

G:\Debugging Tools> cdb -QR 127.0.0.42
Servers on 127.0.0.42:
Debugger Server - npipe:Pipe=MainPipe
Remote Process Server - npipe:Pipe=AnotherPipe
Remote Kernel Debugger Server - npipe:Pipe=KernelPipe

Vengono mostrati tre tubi. Tuttavia, solo uno è un server di connessione KD, gli altri sono un server di debug e un server di elaborazione in modalità utente. Il tecnico immette il comando seguente per avviare il client intelligente:

G:\Debugging Tools> kd -k kdsrv:server=@{npipe:server=127.0.0.42,pipe=KernelPipe},trans=@{com:baud=57600} -y SymbolPath

Si noti che anche se viene specificata la velocità baud, la porta non è . In questo modo il debugger viene predefinito sulla porta specificata da _NT_DEBUG_PORT nel computer in cui è in esecuzione KdSrv.