Activation d’un client intelligent
Une fois le serveur de processus DbgSrv 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.
Important
Il existe des considérations importantes en matière de sécurité lors de l’utilisation du débogage à distance. Pour plus d’informations, notamment sur l’activation du mode sécurisé, consultez Sécurité pendant le débogage à distance et considérations relatives à la sécurité pour les outils de débogage Windows.
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é. Les options suivantes existent :
méthodes de connexion recommandées, avec des de sécurité supplémentaires
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]
Debugger -premote com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password] [Options]
méthodes de connexion non sécurisées
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]
Pour utiliser l’interface graphique pour se connecter à un serveur de processus, WinDbg doit être en mode dormant . Elle doit avoir été démarrée sans paramètres de ligne de commande, ou elle doit avoir terminé la session de débogage précédente. Sélectionnez le fichier | Connectez-vous à la commande de menu 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 chaîne de connexion zone de texte :
méthodes de connexion recommandées, avec des de sécurité supplémentaires
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]
com:port=COMPort,baud=BaudRate,channel=COMChannel[,password=Password]
méthodes de connexion non sécurisées
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]
Vous pouvez également utiliser le bouton Parcourir pour localiser les serveurs de processus actifs.
Paramètres
Les paramètres des commandes précédentes ont les valeurs possibles suivantes :
du débogueur
Il peut s’agir de CDB ou WinDbg.
Server
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é attribué 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
où Server 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 de UserName.
Une fois cette commande réussie, vous pouvez activer un client intelligent à l’aide de l’option -premote ligne de commande ou à l’aide de l’interface graphique WinDbg.
Remarque Vous devrez peut-être activer le partage de fichiers et d’imprimantes sur l’ordinateur serveur. Dans le Panneau de configuration, accédez à Network and Internet > Network and Sharing Center> Paramètres de partage avancés. 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 tente 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 baud 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é, protocole doit correspondre au protocole sécurisé utilisé lors de la création du serveur de processus.
certificat
Si le protocole SSL ou SPIPE est utilisé, vous devez utiliser le même certuser=Cert ou paramètre Cert utilisé lors de la création du serveur de processus.
password=Mot de passe
Si un mot de passe a été utilisé lors de la création du serveur de processus, 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 l’adresse IP version 6 plutôt que la version 4 lors de l’utilisation de TCP pour se connecter à Internet. Dans Windows Vista et versions ultérieures, le débogueur tente d’effectuer la version IP par défaut automatiquement vers la version 6, ce qui rend cette option inutile.
options
Tous les paramètres de ligne de commande supplémentaires peuvent être placés ici. Consultez Command-Line options pour obtenir une liste complète. 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 une passerelle pour le client intelligent, les options supplémentaires seront identiques à celles que vous utiliseriez si vous démarrez 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 identiques à 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 que 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. Quand cela se produit, 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.