Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Supposons qu’un technicien de débogage n’est pas présent sur le site où se trouve l’ordinateur à déboguer. Le technicien de débogage demande à quelqu’un sur ce site de connecter cet ordinateur cible à un autre ordinateur avec un câble de débogage.
Laissez cet autre ordinateur se trouver à l’adresse IP 127.0.0.42. Le câble de débogage connecte COM1 sur cet ordinateur à n'importe quel port activé pour le débogage sur l'ordinateur cible. Le serveur de connexion KD est démarré avec cette commande :
E:\Debugging Tools for Windows> kdsrv -t tcp:port=1027
Ensuite, à l’autre emplacement, le technicien démarre WinDbg en tant que client intelligent avec cette commande :
G:\Debugging Tools> windbg -k kdsrv:server=@{tcp:server=127.0.0.42,port=1027},trans=@{com:port=com1,baud=57600} -y SymbolPath
Le chemin d’accès aux symboles est relatif à l’ordinateur sur lequel le client intelligent est en cours d’exécution.
Voici un autre exemple. Dans ce cas, le protocole NPIPE est choisi et KD est utilisé au lieu de WinDbg. Le premier utilisateur choisit un nom de canal. Il peut s’agir de n’importe quelle chaîne alphanumérique - dans cet exemple, « KernelPipe ». Le premier utilisateur ouvre une fenêtre d'invite de commande avec élévation de privilèges (Exécuter en tant qu'administrateur) et lance un serveur de débogage en saisissant ces commandes :
E:\Debugging Tools for Windows> set _NT_DEBUG_PORT=com1
E:\Debugging Tools for Windows> kdsrv -t npipe:pipe=KernelPipe
Le technicien est connecté à l’ordinateur client avec un compte qui n’a pas accès à l’ordinateur serveur. Mais le technicien connaît le nom d’utilisateur et le mot de passe d’un compte qui a accès à l’ordinateur serveur. Le nom d’utilisateur de ce compte est Contoso. Le technicien saisit la commande suivante :
net use \\BOX17\ipc$ /user:Contoso
Lorsque l'on y est invité, le technicien entre le mot de passe du compte de Contoso.
Le technicien ne sait pas quel nom a été utilisé pour le canal nommé, donc ils interrogent 127.0.0.42 pour les serveurs de connexion 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
Trois tuyaux sont affichés. Toutefois, une seule est un serveur de connexion KD : les autres sont un serveur de débogage et un serveur de processus en mode utilisateur. Le technicien saisit la commande suivante pour démarrer le client intelligent :
G:\Debugging Tools> kd -k kdsrv:server=@{npipe:server=127.0.0.42,pipe=KernelPipe},trans=@{com:baud=57600} -y SymbolPath
Notez que bien que le débit en bauds soit spécifié, le port ne l’est pas. Cela entraîne l’exécution du débogueur par défaut sur le port spécifié par _NT_DEBUG_PORT sur l’ordinateur sur lequel KdSrv est en cours d’exécution.