Débogage à distance à l’aide de KD
Le débogage à distance implique deux débogueurs qui s’exécutent à deux emplacements différents. Le débogueur qui effectue le débogage est appelé serveur de débogage. Le deuxième débogueur, appelé client de débogage, contrôle la session de débogage à partir d’un emplacement distant. Pour établir une session à distance, vous devez d’abord configurer le serveur de débogage, puis activer le client de débogage.
Le débogage à distance peut être utile lorsque vous souhaitez impliquer quelqu’un d’autre pour examiner un problème, que vous déboguez sur un PC.
Le code en cours de débogage peut s’exécuter sur le même ordinateur qui exécute le serveur de débogage, ou il peut s’exécuter sur un ordinateur distinct. Si le serveur de débogage effectue un débogage en mode utilisateur, le processus en cours de débogage peut s’exécuter sur le même ordinateur que le serveur de débogage. Si le serveur de débogage effectue un débogage en mode noyau, le code en cours de débogage s’exécute généralement sur un ordinateur cible distinct.
Le diagramme suivant illustre une session à distance où le serveur de débogage, en cours d’exécution sur un ordinateur hôte, effectue un débogage en mode noyau du code qui s’exécute sur un ordinateur cible distinct.
Il existe plusieurs protocoles de transport que vous pouvez utiliser pour une connexion de débogage à distance : TCP, NPIPE, SPIPE, SSL et port COM. Supposons que vous avez choisi d’utiliser TCP comme protocole et que vous avez choisi d’utiliser KD comme client de débogage et serveur de débogage. Vous pouvez utiliser la procédure suivante pour établir une session de débogage en mode noyau distant :
Sur l’ordinateur hôte, ouvrez KD et établissez une session de débogage en mode noyau avec un ordinateur cible. (Voir Exécution d’un débogage Kernel-Mode à l’aide de KD.)
Arrêtez en appuyant sur CRTL-Break.
Entrez la commande suivante.
.server tcp :port=5005
Note Le numéro de port 5005 est arbitraire. Le numéro de port est votre choix.
KD répond avec une sortie similaire à ce qui suit.
Server started. Client can connect with any of these command lines 0: <debugger> -remote tcp:Port=5005,Server=YourHostComputer
Sur l’ordinateur distant, ouvrez une fenêtre d’invite de commandes et entrez la commande suivante.
kd -remote tcp :Port=5005,Server=YourHostComputer
où YourHostComputer est le nom de votre ordinateur hôte, qui exécute le serveur de débogage.
Informations supplémentaires
Pour obtenir des informations complètes sur le lancement de KD (et l’établissement du débogage à distance) sur la ligne de commande, consultez KD Command-Line Options.