Share via


Activation d’un client intelligent

Une fois que le serveur de processus DbgSrv a été activé, vous pouvez créer un client intelligent sur un autre ordinateur et commencer une session de débogage.

Il existe deux façons de démarrer un client intelligent : en démarrant CDB ou WinDbg avec l’option de ligne de commande -premote, ou en utilisant l’interface graphique WinDbg.

Le protocole du client intelligent doit correspondre au protocole du serveur de processus. La syntaxe générale pour démarrer un client intelligent dépend du protocole utilisé. Voici les options disponibles :

Debugger -premote npipe:server=Server,pipe=PipeName[,password=Password] [Options]

Debugger -premote tcp:server=Server,port=Socket[,password=Password][,ipversion=6] [Options]

Debugger -premote tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6] [Options]

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

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

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

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

Pour utiliser l’interface graphique pour se connecter à un serveur de processus, WinDbg doit être en mode dormant : il doit avoir été démarré sans paramètres de ligne de commande ou avoir terminé la session de débogage précédente. Sélectionnez le fichier | Commande de menu Se connecter au stub distant . Lorsque la boîte de dialogue Se connecter au serveur stub distant s’affiche, entrez l’une des chaînes suivantes dans la zone de texte Chaîne de connexion :

npipe:server=Server,pipe=PipeName[,password=Password] 

tcp:server=Server,port=Socket[,password=Password][,ipversion=6] 

tcp:clicon=Server,port=Socket[,password=Password][,ipversion=6] 

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

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

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

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

Vous pouvez également utiliser le bouton Parcourir pour localiser les serveurs de processus actifs.

Les paramètres des commandes précédentes ont les valeurs possibles suivantes :

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

Serveur
Il s’agit du nom réseau ou de l’adresse IP de l’ordinateur sur lequel le serveur de processus a été créé. Les deux barres obliques inverses initiales (\) sont facultatives sur la ligne de commande, mais ne sont pas autorisées dans la boîte de dialogue WinDbg.

pipe=PipeName
Si le protocole NPIPE ou SPIPE est utilisé, PipeName est le nom qui a été donné au canal lors de la création du serveur de processus.

Si vous n’êtes pas connecté à l’ordinateur client avec un compte qui a accès à l’ordinateur serveur, vous devez fournir un nom d’utilisateur et un mot de passe. Sur l’ordinateur client, dans une fenêtre d’invite de commandes, entrez la commande suivante.

net use \\Server\ipc$ /user :UserName

Serveur est le nom de l’ordinateur serveur et UserName est le nom d’un compte qui a accès à l’ordinateur serveur.

Lorsque vous y êtes invité, entrez le mot de passe pour UserName.

Une fois cette commande réussie, vous pouvez activer un client intelligent à l’aide de l’option de ligne de commande -premote ou à l’aide de l’interface graphique WinDbg.

Note Vous devrez peut-être activer le partage de fichiers et d’imprimantes sur l’ordinateur serveur. 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
Si le protocole TCP ou SSL est utilisé, Socket est le même numéro de port de socket que celui utilisé lors de la création du serveur de processus.

clicon
Spécifie que le serveur de processus essaiera de se connecter au client intelligent par le biais d’une connexion inversée. Le client doit utiliser clicon si et uniquement si le serveur utilise clicon. Dans la plupart des cas, le client intelligent est démarré avant le serveur de processus lorsqu’une connexion inversée est utilisée.

port=COMPort
Si 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
Si le protocole COM est utilisé, BaudRate doit correspondre au taux de bauds choisi lors de la création du serveur de processus.

channel=COMChannel
Si le protocole COM est utilisé, COMChannel doit correspondre au numéro de canal choisi lors de la création du serveur de processus.

proto=Protocol
Si le protocole SSL ou SPIPE est utilisé, le protocole doit correspondre au protocole sécurisé utilisé lors de la création du serveur de processus.

Cert
Si le protocole SSL ou SPIPE est utilisé, vous devez utiliser le paramètre certuser=Cert ou machuser=Cert identique qui a été utilisé lors de la création du serveur de processus.

password=Password
Si un mot de passe a été utilisé lors de la création du serveur de processus, le mot de passe doit être fourni pour créer le client intelligent. Il doit correspondre au mot de passe d’origine. Les mots de passe respectent la casse. Si le mot de passe incorrect est fourni, le message d’erreur spécifie « Erreur 0x80004005 ».

ipversion=6
(Outils de débogage pour Windows 6.6.07 et versions antérieures uniquement) 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 d’utiliser automatiquement la version IP par défaut 6, ce qui rend cette option inutile.

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. Si vous utilisez CDB, cela doit spécifier le processus que vous souhaitez déboguer. Si vous utilisez WinDbg, vous pouvez spécifier le processus sur la ligne de commande ou via l’interface graphique.

Étant donné que le serveur de processus agit simplement comme passerelle pour le client intelligent, les options supplémentaires seront les mêmes que celles que vous utiliseriez si vous démarriez un débogueur en mode utilisateur sur la même machine que l’application cible.

Si vous utilisez l’option -premote avec .attach (Attacher au processus) ou .create (Créer un processus), les paramètres sont les mêmes que ceux répertoriés ci-dessus.

Dépannage

Si vous voyez ce message : Le client n’utilise pas la même version du protocole de communication à distance que le serveur , cela indique que la version de DbgSrv à laquelle vous tentez de vous connecter utilise une version de protocole différente de la version de WinDbg.

Il est rare que des modifications de protocole soient apportées. Dans ce cas, veillez à utiliser les versions correspondantes de la dernière version disponible de DbgSrv et WinDbg (classique) ou WinDbg. Pour plus d’informations sur le téléchargement de la dernière version, consultez Outils de débogage pour Windows.