Delen via


Voorbeelden van KD-verbindingsserver

Stel dat er geen foutopsporingstechnicus aanwezig is op de site waar de computer zich bevindt waarop fouten moeten worden opgespoord. De foutopsporingstechnicus vraagt iemand op deze site om deze doelcomputer te verbinden met een andere computer met een foutopsporingskabel.

Laat deze andere computer zich op IP-adres 127.0.0.42 bevinden. Met de foutopsporingskabel wordt COM1 op deze computer verbonden met de poort waarvoor foutopsporing is ingeschakeld op de doelcomputer. De KD-verbindingsserver wordt gestart met deze opdracht:

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

Vervolgens start de technicus Op de andere locatie WinDbg als een slimme client met deze opdracht:

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

Het symboolpad is relatief aan de computer waarop de slim client wordt uitgevoerd.

Hier volgt nog een voorbeeld. In dit geval wordt het NPIPE-protocol gekozen en wordt KD gebruikt in plaats van WinDbg. De eerste gebruiker kiest een pijpnaam. Dit kan elke alfanumerieke tekenreeks zijn, in dit voorbeeld KernelPipe. De eerste gebruiker opent een opdrachtpromptvenster met verhoogde bevoegdheid (Als administrator uitvoeren) en start een foutopsporingsserver door deze opdrachten in te voeren:

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

De technicus wordt aangemeld bij de clientcomputer met een account dat geen toegang heeft tot de servercomputer. Maar de technicus kent de gebruikersnaam en het wachtwoord voor een account dat wel toegang heeft tot de servercomputer. De gebruikersnaam voor dat account is Contoso. De technicus voert de volgende opdracht in:

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

Wanneer hierom wordt gevraagd, voert de technicus het wachtwoord voor het Contoso-account in.

De technicus weet niet zeker welke naam is gebruikt voor de benoemde pijp, dus ze voeren query's uit op 127.0.0.42 voor KD-verbindingsservers:

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

Er worden drie pijpen weergegeven. Slechts één is echter een KD-verbindingsserver. De andere zijn een foutopsporingsserver en een processerver in de gebruikersmodus. De technicus voert de volgende opdracht in om de slimme client te starten:

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

U ziet dat hoewel de baudrate is opgegeven, de poort niet is gespecificeerd. Hierdoor wordt het foutopsporingsprogramma standaard ingesteld op de poort die is opgegeven door _NT_DEBUG_PORT op de computer waarop KdSrv wordt uitgevoerd.