Activation d’un serveur de débogage

Il y a deux façons d’activer le serveur de débogage. Il peut être activé lorsque le débogueur est démarré à l’aide de l’option de ligne de commande -server dans une fenêtre d’invite de commandes avec élévation de privilèges (exécuter en tant qu’administrateur). Il peut également être activé une fois le débogueur en cours d’exécution. Démarrez le débogueur avec des privilèges élevés (exécuter en tant qu’administrateur) et saisissez la commande .server.

Remarque : vous pouvez activer un serveur de débogage sans disposer de privilèges élevés et les clients de débogage pourront se connecter au serveur. Toutefois, ces derniers ne pourront pas découvrir un serveur de débogage, sauf s’il a été activé avec des privilèges élevés. Pour en savoir plus sur la façon de trouver des serveurs de débogage, consultez Recherche de serveurs de débogage.

Les débogueurs prennent en charge plusieurs protocoles de transport : canal nommé (NPIPE), TCP, port COM, canal sécurisé (SPIPE) et SSL (Secure Sockets Layer).

La syntaxe générale pour l’activation d’un serveur de débogage dépend du protocole utilisé.

Debugger -server npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable] [-noio] [Options]

Debugger -server tcp:port=Socket[,hidden][,password=Password][,ipversion=6][,IcfEnable] [-noio] [Options]

Debugger -server tcp:port=Socket,clicon=Client[,password=Password][,ipversion=6] [-noio] [Options]

Debugger -server com:port=COMPort,baud=BaudRate,channel=COMChannel[,hidden][,password=Password] [-noio] [Options]

Debugger -server spipe:proto=Protocol,{certuser=Cert|machuser=Cert},pipe=PipeName[,hidden][,password=Password] [-noio] [Options]

Debugger -server ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket[,hidden][,password=Password] [-noio] [Options]

Debugger -server ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket,clicon=Client[,password=Password] [-noio] [Options]

Une autre méthode pour activer un serveur de débogage consiste à utiliser la commande .server (Créer un serveur de débogage) après le démarrage du débogueur.

.server npipe:pipe=PipeName[,hidden][,password=Password][,IcfEnable] 

.server tcp:port=Socket[,hidden][,password=Password][,ipversion=6][,IcfEnable] 

.server tcp:port=Socket,clicon=Client[,password=Password][,ipversion=6] 

.server com:port=COMPort,baud=BaudRate,channel=COMChannel[,hidden][,password=Password] 

.server spipe:proto=Protocol,{certuser=Cert|machuser=Cert},pipe=PipeName[,hidden][,password=Password] 

.server ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket[,hidden][,password=Password] 

.server ssl:proto=Protocol,{certuser=Cert|machuser=Cert},port=Socket,clicon=Client[,password=Password] 

Les valeurs potentielles des paramètres des commandes précédentes sont les suivantes :

Débogueur
Valeurs potentielles : KD, CDB, NTSD ou WinDbg.

pipe= PipeName
Lorsque le protocole NPIPE ou SPIPE est utilisé, PipeName est une chaîne qui servira de nom au tuyau. Chaque nom de tuyau doit identifier un serveur de débogage unique. Si vous essayez de réutiliser un nom de tuyau, vous recevrez un message d’erreur. PipeName ne doit pas contenir d’espaces ou de guillemets. PipeName peut inclure un code de formatage numérique printf, tel que %x ou %d. Le débogueur remplacera cela par l’ID de processus du débogueur. Un second tel code sera remplacé par l’ID de thread du débogueur.

Remarque : vous devrez peut-être activer le partage de fichiers et d’imprimantes sur l’ordinateur sur lequel s’exécute le serveur de débogage. Dans le Panneau de configuration, accédez aux paramètres de partage avancés du >Centre réseau et partage>. Sélectionnez Activer le partage de fichiers et d’imprimantes.

port= Prise
Lorsque le protocole TCP ou SSL est utilisé, Socket est le numéro de port socket.

Il est également possible de spécifier une plage de ports séparés par un deux-points. Le débogueur vérifiera chaque port dans cette plage pour voir s’il est libre. S’il trouve un port libre et qu’aucune erreur ne se produit, le serveur de débogage sera créé. Le client de débogage devra spécifier le port réel utilisé pour se connecter au serveur. Pour déterminer le port réel, utilisez l’une des méthodes décrites dans Recherche de serveurs de débogage; lorsque ce serveur de débogage est affiché, le port sera suivi de deux nombres séparés par un deux-points. Le premier nombre sera le port réel utilisé ; le second peut être ignoré. Par exemple, si le port était spécifié comme port=51:60, et que le port 53 était effectivement utilisé, les résultats de la recherche afficheront « port=53:60 ». (Si vous utilisez le paramètre clicon pour établir une connexion inverse, le client de débogage peut spécifier une plage de ports de cette manière, tandis que le serveur doit spécifier le port réel utilisé.)

clicon= Client
Lorsque le protocole TCP ou SSL est utilisé et que le paramètre clicon est spécifié, une connexion inverse sera ouverte. Cela signifie que le serveur de débogage tentera de se connecter au client de débogage, au lieu de laisser le client initier le contact. Cela peut être utile si vous avez un pare-feu qui empêche une connexion dans le sens habituel. Le client spécifie le nom réseau ou l’adresse IP de l’ordinateur sur lequel se trouve ou sera créé le client de débogage. Les deux premiers antislashs (\) sont facultatifs.

Étant donné que le serveur recherche un client spécifique, cette méthode ne vous permet pas de connecter plusieurs clients au serveur. Si la connexion est refusée ou interrompue, vous devrez redémarrer la connexion du serveur. Un serveur de connexion inverse n’apparaîtra pas lorsqu’un autre débogueur affichera tous les serveurs actifs.

Remarque : lorsque clicon est utilisé, il est préférable de démarrer le client de débogage avant que le serveur de débogage ne soit créé, bien que l’ordre habituel (serveur avant client) soit également autorisé.

port= COMPort
Lorsque le protocole COM est utilisé, COMPort spécifie le port COM à utiliser. Le préfixe « COM » est facultatif (par exemple, « com2 » et « 2 » sont acceptables).

baud= BaudRate
Lorsque le protocole COM est utilisé, BaudRate spécifie le débit binaire auquel la connexion fonctionnera.» Tout débit binaire pris en charge par le matériel est autorisé.

channel= COMChannel
Si le protocole COM est utilisé, COMChannel spécifie le canal COM à utiliser pour communiquer avec le client de débogage. Cela peut être une valeur comprise entre 0 et 254, inclusivement. Vous pouvez utiliser un seul port COM pour plusieurs connexions à l’aide de numéros de canal différents. (La différence avec l’utilisation d’un port COM pour un câble de débogage est que, dans ce cas, il n’est pas possible d’utiliser des canaux à l’intérieur d’un port COM).

proto= Protocole
Si le protocole SSL ou SPIPE est utilisé, Protocole spécifie le protocole de canal sécurisé (S-Channel). Cela peut être l’une des chaînes tls1, pct1, ssl2 ou ssl3.

Cert
Si le protocole SSL ou SPIPE est utilisé, Cert spécifie le certificat. Il peut s’agir soit du nom du certificat, soit de l’empreinte digitale du certificat (la chaîne de chiffres hexadécimaux donnée par le snapin du certificat). Si la syntaxe certuser=Cert est utilisée, le débogueur recherchera le certificat dans le magasin système (le magasin par défaut). Si la syntaxe machuser=Cert est utilisée, le débogueur recherchera le certificat dans le magasin machine. Le certificat spécifié doit prendre en charge l’authentification du serveur.

caché
Empêche le serveur d’apparaître lorsqu’un autre débogueur affiche tous les serveurs actifs.

password= Mot de passe
Oblige un client à fournir le mot de passe spécifié pour se connecter à la session de débogage. Password peut être une chaîne alphanumérique, jusqu’à douze caractères de longueur.

Avertissement : l’utilisation d’un mot de passe avec le protocole TCP, NPIPE ou COM offre une faible protection, car le mot de passe n’est pas chiffré. Lorsqu’un mot de passe est utilisé avec le protocole SSL ou SPIPE, il est chiffré. Si vous souhaitez établir une session à distance sécurisée, vous devez utiliser le protocole SSL ou SPIPE.

ipversion=6
(Debugging Tools for Windows 6.6.07 et versions antérieures seulement) Force le débogueur à utiliser la version IP 6 plutôt que la version 4 lors de l’utilisation de TCP pour se connecter à Internet. Dans Windows Vista et les versions ultérieures, le débogueur tente de passer automatiquement à la version IP 6, rendant cette option inutile.

-noio
Si le serveur de débogage est créé avec l’option -noio, aucune entrée ou sortie ne peut être effectuée via le serveur lui-même. Le débogueur n’accepte que les données provenant du client de débogage (ainsi que toute commande initiale ou tout script de commande spécifié par l’option de ligne de commande -c). Toutes les sorties sont dirigées vers le client de débogage. L’option -noio est disponible uniquement avec KD, CDB et NTSD. Si NTSD est utilisé pour le serveur, aucune fenêtre de console n’est créée.

IcfEnable
Force le débogueur à activer les connexions de port nécessaires pour la communication TCP ou de tuyau nommé lorsque le pare-feu de connexion Internet est actif. Par défaut, le pare-feu de connexion Internet désactive les ports utilisés par ces protocoles. Lorsque IcfEnable est utilisé avec une connexion TCP, le débogueur amène Windows à ouvrir le port spécifié par le paramètre Socket. Lorsque IcfEnable est utilisé avec une connexion de tuyau nommé, le débogueur amène Windows à ouvrir les ports utilisés pour les tuyaux nommés (ports 139 et 445). Le débogueur ne ferme pas ces ports après la fin de la connexion.

Options
Tous les paramètres de ligne de commande supplémentaires peuvent être placés ici. Consultez les options de ligne de commande pour obtenir une liste complète.

Vous pouvez utiliser la commande .server pour démarrer plusieurs serveurs à l’aide de différentes options de protocole. Cela permet aux différents types de clients de débogage de rejoindre la session.

Voir aussi

Contrôler une session de débogage distant

.endsrv (fin du serveur de débogage)