Débogage à distance (moteur de débogueur)

Le débogage à distance se produit quand la communication d’un client avec une cible est indirecte, par exemple via une connexion réseau. Lors du débogage à distance, plusieurs instance du moteur de débogueur peuvent être impliqués dans le débogage d’une cible. Toutefois, exactement une de ces instances est responsable de la session de débogage ; cette instance est appelée moteur hôte.

Il existe de nombreuses configurations possibles : l’objet client peut être créé dans le moteur hôte (clients intelligents) ou un autre instance du moteur (clients de débogage), le moteur hôte peut être connecté directement à la cible (serveur de débogage) ou un proxy peut être directement connecté à la cible (serveur de processus et serveur de connexion du noyau).

Plusieurs clients peuvent se connecter simultanément au moteur hôte. Et le moteur hôte peut se connecter à plusieurs cibles dans la même session de débogage. Si vous le souhaitez, il peut y avoir un ou plusieurs proxys entre les clients et le moteur hôte et entre le moteur hôte et chaque cible.

Les clients intelligents sont des objets clients qui communiquent directement avec le moteur hôte. Un client de débogage est créé en appelant DebugConnect ; le client communique avec le moteur hôte à l’aide d’appels RPC qui représentent des appels de méthode dans l’API du moteur (y compris les appels que le moteur hôte effectue aux objets de rappel du client).

Un serveur de débogage est un moteur instance qui communique directement avec la cible et est également le moteur hôte. Les serveurs de traitement et les serveurs de connexion du noyau communiquent directement avec la cible, mais ne sont pas le moteur hôte. Le moteur hôte communique avec le serveur de processus, ou le serveur de connexion du noyau, en envoyant des requêtes de mémoire, de processeur et de système d’exploitation de bas niveau, et le serveur renvoie les résultats.

Note Une configuration classique sur deux ordinateurs pour le débogage du noyau, où un ordinateur est la cible et l’autre l’ordinateur hôte, n’est pas considérée comme un débogage à distance, car il n’existe qu’une seule instance du moteur (sur l’ordinateur hôte) et communique directement avec la cible.

Informations supplémentaires

Pour plus d’informations sur l’exécution du débogage à distance, consultez Cibles distantes.