Activation d’un serveur de débogage

Il existe 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 que le débogueur est en cours d’exécution. Démarrez le débogueur avec des privilèges élevés (Exécuter en tant qu’administrateur), puis entrez la commande .server .

Note Vous pouvez activer un serveur de débogage sans avoir de privilèges élevés, et les clients de débogage pourront se connecter au serveur. Toutefois, les clients ne pourront pas découvrir un serveur de débogage, sauf s’il a été activé avec des privilèges élevés. Pour plus d’informations sur la découverte 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 d’activation d’un serveur de débogage consiste à utiliser la commande .server (Créer un serveur de débogage) une fois que le débogueur a déjà démarré.

.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 paramètres des commandes précédentes ont les valeurs possibles suivantes :

Débogueur
Il peut s’agir de KD, CDB, NTSD ou WinDbg.

pipe=PipeName
Lorsque le protocole NPIPE ou SPIPE est utilisé, PipeName est une chaîne qui servira de nom du canal. Chaque nom de canal doit identifier un serveur de débogage unique. Si vous tentez de réutiliser un nom de canal, vous recevez un message d’erreur. PipeName ne doit pas contenir d’espaces ou de guillemets. PipeName peut inclure un code de format de style printf numérique, tel que %x ou %d. Le débogueur le remplace par l’ID de processus du débogueur. Un deuxième code de ce type sera remplacé par l’ID de thread du débogueur.

Note Vous devrez peut-être activer le partage de fichiers et d’imprimantes sur l’ordinateur qui exécute le serveur de débogage. Dans Panneau de configuration, accédez à Network and Internet Network and Sharing > Center Advanced sharing Center>. Sélectionnez Activer le partage de fichiers et d’imprimantes.

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

Il est également possible de spécifier une plage de ports séparés par un signe deux-points. Le débogueur case activée chaque port de cette plage pour voir s’il est gratuit. S’il trouve un port libre et qu’aucune erreur ne se produit, le serveur de débogage est créé. Le client de débogage doit 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 est suivi de deux nombres séparés par deux-points. Le premier nombre sera le port réel utilisé ; le deuxième peut être ignoré. Par exemple, si le port a été spécifié comme port=51 :60 et que le port 53 a été utilisé, les résultats de la recherche affichent « port=53 :60 ». (Si vous utilisez le paramètre clicon pour établir une connexion inversée, le client de débogage peut spécifier une plage de ports de cette façon, 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 est ouverte. Cela signifie que le serveur de débogage essaiera de se connecter au client de débogage, au lieu de laisser le client lancer 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 le client de débogage existe ou sera créé. Les deux barres obliques inverses initiales (\) sont facultatives.

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

Note Lorsque clicon est utilisé, il est préférable de démarrer le client de débogage avant la création du serveur de débogage, même si l’ordre habituel (serveur avant client) est é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 taux de bauds auquel la connexion s’exécutera. Tout débit en bauds 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. Il peut s’agir de n’importe quelle valeur comprise entre 0 et 254, inclus. Vous pouvez utiliser un seul port COM pour plusieurs connexions à l’aide de différents numéros de canal. (Cela est différent de l’utilisation d’un port COM pour un câble de débogage. Dans ce cas, vous ne pouvez pas utiliser de canaux au sein d’un port COM.)

proto=Protocol
Si le protocole SSL ou SPIPE est utilisé, protocole spécifie le protocole de canal sécurisé (S-Channel). Il peut s’agir de n’importe quelle chaîne tls1, pct1, ssl2 ou ssl3.

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

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

password=Password=Password
Nécessite qu’un client fournisse le mot de passe spécifié pour se connecter à la session de débogage. Le mot de passe peut être n’importe quelle chaîne alphanumérique, d’une longueur maximale de douze caractères.

Avertissement L’utilisation d’un mot de passe avec le protocole TCP, NPIPE ou COM n’offre qu’une petite quantité de 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
(Outils de débogage pour Windows 6.6.07 et versions antérieures uniquement) Force le débogueur à utiliser IP version 6 plutôt que version 4 lors de l’utilisation de TCP pour se connecter à Internet. Dans Windows Vista et les versions ultérieures, le débogueur tente d’utiliser automatiquement la version IP 6, ce qui rend 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 entrées du client de débogage (plus toute commande ou script de commande initiale spécifiée 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
Provoque le débogueur à activer les connexions de port nécessaires pour la communication TCP ou de canal 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. Quand IcfEnable est utilisé avec une connexion TCP, le débogueur entraîne l’ouverture du port spécifié par le paramètre Socket . Quand IcfEnable est utilisé avec une connexion de canal nommé, le débogueur permet à Windows d’ouvrir les ports utilisés pour les canaux nommés (ports 139 et 445). Le débogueur ne ferme pas ces ports une fois la connexion terminée.

Options
Tous les paramètres de ligne de commande supplémentaires peuvent être placés ici. Pour obtenir la liste complète, consultez Options de ligne de commande.

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

Voir aussi

Contrôle d’une session de débogage à distance

.endsrv (Serveur de débogage de fin)