Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Presque toutes les interactions avec le moteur de débogueur sont par le biais d’objets clients, souvent appelés clients. Chaque client fournit une implémentation des interfaces de moteur de niveau supérieur. Chaque interface fournit un ensemble différent de méthodes, qui peuvent être utilisées pour interagir avec le moteur et, via le moteur, les cibles. Une instance du moteur peut avoir de nombreux clients, chacun avec son propre état.
Clients principaux
Un client principal est un client qui a rejoint la session de débogage actuelle. Initialement, lorsqu’un nouvel objet client est créé, il ne s’agit pas d’un client principal. Un client devient un client principal lorsqu’il est utilisé pour acquérir une cible (par exemple, en appelant CreateProcess2) ou est connecté à la session de débogage à l’aide de ConnectSession. La commande de débogueur .clients répertorie uniquement les clients principaux.
Objets de rappel
Les objets de rappel peuvent être enregistrés pour chaque client. Il existe trois types d’objets de rappel :
Objets de rappel d’entrée (ou rappels d’entrée) : le moteur appelle les rappels d’entrée pour demander l’entrée. Par exemple, un débogueur avec une fenêtre de console peut inscrire un rappel d’entrée pour fournir au moteur une entrée de l’utilisateur, ou un débogueur peut inscrire un rappel d’entrée pour fournir au moteur une entrée à partir d’un fichier.
Objets de rappel de sortie (ou rappels de sortie) : le moteur appelle les rappels de sortie pour afficher la sortie. Par exemple, un débogueur avec une fenêtre de console peut inscrire un rappel de sortie pour présenter la sortie du débogueur à l’utilisateur, ou un débogueur peut inscrire un rappel de sortie pour envoyer la sortie à un fichier journal.
Objets de rappel d’événements (ou rappels d’événements) : le moteur appelle les rappels d’événements chaque fois qu’un événement se produit dans une cible (ou qu’il existe une modification de l’état du moteur). Par exemple, une bibliothèque d’extensions de débogueur peut inscrire un rappel d’événement pour surveiller certains événements ou effectuer des actions automatisées lorsqu’un événement particulier se produit.
Débogage à distance
Les objets clients facilitent la communication avec les instances distantes du moteur hôte. La fonction DebugConnect crée un objet client connecté à une instance de moteur distante ; les méthodes appelées sur ce client sont exécutées par le moteur distant et les objets de rappel inscrits localement auprès du client sont appelées lorsque le moteur distant effectue des appels de rappel.
informations supplémentaires
Pour plus d’informations sur la création et l’utilisation d’objets clients, consultez Utilisation des objets de rappel. Pour plus d’informations sur l’inscription d’objets de rappel, consultez Utilisation des objets de rappel.