Exemples de client et de serveur

Supposons qu’une personne exécute une application sur un ordinateur nommé \\BOX17. Cette application rencontre des problèmes, mais le technicien de débogage se trouve sur un autre site.

La première personne configure un serveur de débogage à l’aide de CDB sur \\BOX17. L’application cible a un ID de processus de 122. Le protocole TCP est choisi, avec un numéro de port de socket de 1025. Le serveur démarre en entrant la commande suivante dans une fenêtre d’invite de commandes avec élévation de privilèges (Exécuter en tant qu’administrateur) :

E:\Debugging Tools for Windows> cdb -server tcp:port=1025 -p 122

Sur l’autre ordinateur, le technicien décide d’utiliser WinDbg comme client de débogage. Il peut être démarré avec cette commande :

G:\Debugging Tools> windbg -remote tcp:server=BOX17,port=1025

Voici un autre exemple. Dans ce cas, le protocole NPIPE est choisi et CDB est utilisé à la place 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, « MainPipe ». Le premier utilisateur ouvre une fenêtre d’invite de commandes avec élévation de privilèges (Exécuter en tant qu’administrateur) et démarre un serveur de débogage en entrant cette commande :

E:\Debugging Tools for Windows> cdb -server npipe:pipe=MainPipe -v winmine.exe 

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 entre la commande suivante :

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

Lorsque vous y êtes invité, le technicien entre le mot de passe du compte Contoso.

Le technicien ne sait pas quel nom a été utilisé pour le canal nommé, donc il interroge BOX17 pour connaître les serveurs de débogage disponibles.

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

Deux canaux sont affichés. Toutefois, un seul est un serveur de débogage , l’autre est un serveur de processus, et cela ne nous intéresse pas. MainPipe doit donc être le nom correct. Le technicien utilise la commande suivante pour démarrer le client de débogage :

G:\Debugging Tools> cdb -remote npipe:server=BOX17,pipe=MyPipe 

Utilisation d’un serveur sécurisé

Voici un exemple de serveur sécurisé. Ce serveur utilise la couche de sockets sécurisés avec un protocole S-Channel tls1. Le débogueur recherchera le certificat dans le magasin d’ordinateurs. Le certificat est spécifié par son empreinte hexadécimale.

D:\> cdb -server "ssl:proto=tls1,machuser=ab 38 f7 ae 13 20 ac da 05 14 65 60 30 83 7b 83 09 2c d2 34,port=1234" notepad.exe