Dela via


Exempel på KD-anslutningsserver

Anta att en felsökningstekniker inte finns på den plats där datorn som ska felsökas finns. Felsökningsteknikern ber någon på den här platsen att ansluta den här måldatorn till någon annan dator med en felsökningskabel.

Låt den andra datorn vara på IP-adressen 127.0.0.42. Felsökningskabeln ansluter COM1 på den här datorn till den port som har felsökningsaktiverats på måldatorn. KD-anslutningsservern startas med det här kommandot:

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

På den andra platsen startar teknikern WinDbg som en smart klient med det här kommandot:

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

Symbolsökvägen är relativ till den dator där den smarta klienten körs.

Här är ett annat exempel. I det här fallet väljs NPIPE-protokollet och KD används i stället för WinDbg. Den första användaren väljer ett pipe-namn. Det kan vara valfri alfanumerisk sträng – i det här exemplet "KernelPipe". Den första användaren öppnar ett upphöjt kommandotolkfönster (Kör som administratör) och startar en felsökningsserver genom att ange följande kommandon:

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

Teknikern är inloggad på klientdatorn med ett konto som inte har åtkomst till serverdatorn. Men teknikern känner till användarnamnet och lösenordet för ett konto som har åtkomst till serverdatorn. Användarnamnet för det kontot är Contoso. Teknikern anger följande kommando:

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

När du uppmanas till det anger teknikern lösenordet för Contoso-kontot.

Teknikern är inte säker på vilket namn som användes för det namngivna röret, så de frågar 127.0.0.42 för KD-anslutningsservrar:

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

Tre rör visas. Men bara en är en KD-anslutningsserver – de andra är en felsökningsserver och en processserver i användarläge. Teknikern anger följande kommando för att starta den smarta klienten:

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

Observera att även om baud-hastigheten har angetts är porten inte det. Detta gör att felsökaren som standard använder den port som anges av _NT_DEBUG_PORT på datorn där KdSrv körs.