Les interfaces principales
Les interfaces suivantes sont les principales interfaces permettant d'étendre le débogueur à l'aide de Kit de développement logiciel Visual Studio.
Discussion
ces interfaces sont principalement utilisées pour créer le moteur de débogage (DE). Ils sont organisés ici par catégories :
Points d'arrêt
contextes
principal serveur
moteurs de débogage
Documents
Événements
expressions
Mémoire
Modules
ports
Processus
Programmes
Propriétés
frames de pile
Threads
visualiseurs de type
Les entités qui peuvent implémenter des interfaces sont :
moteur de débogage (DE)
fournisseur de port (PS)
évaluateur d'expression (EE)
Visual Studio (VS)
Points d'arrêt
Ces interfaces sont liées à l'implémentation et au suivi des points d'arrêt.
Interface |
implémenté par |
Description |
---|---|---|
DE |
Représente un point d'arrêt lié à un emplacement mémoire. |
|
DE |
Envoyé par le De lorsqu'un point d'arrêt est lié à un emplacement mémoire. |
|
VS |
Représente une somme de contrôle document pour une requête de point d'arrêt. |
|
DE |
Envoyé par le De lorsqu'un point d'arrêt n'est pas à un emplacement mémoire. |
|
DE |
Envoyé par le De lorsqu'un point d'arrêt est atteint. |
|
VS |
représente une demande d'un point d'arrêt ; utilisé en créant un point d'arrêt en attente. |
|
VS |
représente une demande d'un point d'arrêt ; utilisé en créant un point d'arrêt en attente. |
|
DE |
représente les informations utilisées pour lier un point d'arrêt. |
|
DE |
Envoyé par le De lorsqu'un point d'arrêt est annulé la liaison d'un emplacement de mémoire. |
|
DE |
Représente un point d'arrêt non valide (retourné par IDebugBreakpointErrorEvent2). |
|
DE |
Représente les informations sur la résolution sur un point d'arrêt non valide. |
|
DE |
Représente une position dans une fonction où un point d'arrêt. |
|
DE |
représente un point d'arrêt qui doit être lié ; utilisé en créant un point d'arrêt lié. |
|
DE |
Représente une énumération sur un ensemble de points d'arrêt liés. |
|
DE |
Représente une énumération sur un ensemble de points d'arrêt qui peuvent ne pas être liés à un emplacement mémoire. |
contextes
Ces interfaces représentent plusieurs genres de contextes dans le programme débogué.
Interface |
implémenté par |
Description |
---|---|---|
DE |
représente la position de départ d'une instruction de code. |
|
DE |
étend l'interface d' IDebugCodeContext2 pour activer la récupération du module et des interfaces de processus. |
|
VS, PG.PRÉC |
représente une position dans un document. |
|
DE |
Représente le contexte dans lequel évaluer une expression. |
|
DE |
Représente l'emplacement à partir à la mémoire d'une collection d'octets. |
|
DE |
Représente un contexte du frame de pile à un point d'arrêt ou une exception. |
|
DE |
Représente un contexte du frame de pile à un point d'arrêt ou une exception. |
|
DE |
Représente une énumération sur un ensemble de contextes de code. |
principal serveur
Ces interfaces représentent l'ordinateur sur lequel un programme est débogué. Ceux-ci sont implémentés par Visual Studio mais peuvent être appelés dans par les moteurs de débogage.
Interface |
implémenté par |
Description |
---|---|---|
VS |
Fournit l'accès aux ports et aux fournisseurs de port ainsi que des informations concernant l'ordinateur. |
|
VS |
représente IDebugCoreServer2 qui prend en charge le débogage distant. |
moteurs de débogage
ces interfaces représentent des moteurs de débogage et leurs événements associés.
Interface |
implémenté par |
Description |
---|---|---|
DE |
représente un moteur de débogage personnalisé. |
|
DE |
représente un moteur de débogage personnalisé qui prend en charge le chargement des symboles, du JustMyCode, et des exceptions. |
|
DE |
Envoyé par chaque nouvelle instance De pour indiquer qu'il est prêt à gérer les tâches de débogage. |
|
DE |
Représente un moteur de débogage personnalisé qui prend en charge exécuter les programmes. |
|
DROITE, PICOSECONDE |
Représente un nœud de programme qui gère plusieurs moteurs de débogage. |
|
DE |
Permet que le SDM puisse obtenir une interface au moteur de débogage d'un thread, d'un programme, ou un frame de pile. |
Documents
ces interfaces représentent des documents (fichiers sources) et leurs éléments associés.
Interface |
implémenté par |
Description |
---|---|---|
DE |
envoyé par le De pour demander un document à ouvrir. |
|
DE |
représente un flux de données de l'instruction désassemblée d'un document. |
|
VS, PG.PRÉC |
Représente un document fourni par le De, en spécifiant le nom et l'ID de classe (CLSID). |
|
DROITE, EE |
Représente un checksum pour un document de débogage et permet de passer la somme de contrôle entre les composants. |
|
VS, PG.PRÉC |
Représente un contexte du document, une position dans un document qui correspond à une instruction particulière et le contexte de code. |
|
VS, PG.PRÉC |
représente une position générale dans un document. |
|
VS |
Représente une position dans un fichier source comme un offset de caractère. |
|
VS, PG.PRÉC |
Représente un document texte fourni par le De (dérivé d' IDebugDocument2), en fournissant le texte réel. |
|
DE |
Envoyé par le De pour spécifier les modifications apportées à un fichier source en mémoire. |
Événements
Ces interfaces représentent tous les événements qui sont échangés entre le De et le gestionnaire de débogage de session (SDM).
Interface |
implémenté par |
Description |
---|---|---|
DE |
envoyé par le De pour demander un document à ouvrir. |
|
DE |
Le moteur (DE) de débogage envoie cette interface au gestionnaire de débogage de session (SDM) pour définir le message de barre d'état pendant le chargement du symbole. |
|
DE |
Envoyé par le De lorsque l'interruption dans le programme a été effectué. |
|
DE |
Envoyé par le De lorsqu'un point d'arrêt est lié. |
|
DE |
Envoyé par le De lorsqu'un point d'arrêt n'est pas. |
|
DE |
Envoyé par le De lorsqu'un point d'arrêt est atteint. |
|
DE |
Envoyé par le De lorsqu'un point d'arrêt est annulé la liaison. |
|
DE |
Envoyé par le De la pour déterminer s'il doit arrêter à un emplacement particulier. |
|
DE |
Envoyé par le De pour spécifier les modifications apportées à un fichier source en mémoire. |
|
DE |
Envoyé par chaque nouvelle instance De pour indiquer qu'il est prêt à gérer les tâches de débogage. |
|
DE |
Envoyé par le De pour indiquer le programme débogué est prêt à exécuter la première instruction. |
|
DE |
Une interface utilisée par d'autres interfaces d'événement, qui peuvent retourner une erreur, pour fournir des messages d'erreur explicites. |
|
DROITE, PICOSECONDE |
Interface de base dont toutes les autres interfaces d'événement sont dérivées. |
|
VS |
Représente une interface implémentée par le SDM auquel les événements (exprimées comme un des objets implémentant une interface d'événement particulière) sont envoyés. |
|
DE |
Envoyé lors De l'exécution lorsqu'une exception s'est produite dans le programme débogué. |
|
DE |
Envoyé par le De lorsqu'une évaluation de l'expression asynchrone est terminée. |
|
IDebugFindSymbolEvent2 |
|
OBSOLÈTE. NE SUR UTILISEZ NOT. |
DE |
Envoyé par le De lorsque le traitement d'une exception interceptée a été effectué. |
|
DE |
Envoyé par le De lorsqu'un programme a terminé le chargement. |
|
DE |
Envoyé par le De lui donner l'affichage de l'IDE un message d'information à l'utilisateur. |
|
DE |
Envoyé par le De lorsqu'un module est chargé ou déchargé. |
|
DE |
Signale le débogueur interface utilisateur de Visual Studio pour avertir l'utilisateur pour lequel des symboles ne peuvent pas être placés pour le fichier exécutable lancé. |
|
DE |
Envoyé par le De lui donner l'affichage de l'IDE une chaîne arbitraire. |
|
VS, PG.PRÉC |
envoyé par un port pour communiquer des événements de port à tout écouteur. |
|
DROITE, PICOSECONDE |
Envoyé par le De ou le port lorsqu'un processus a été créé. |
|
DROITE, PICOSECONDE |
Envoyé par le De ou le port lorsqu'un processus a été détruit. |
|
DROITE, PICOSECONDE |
Envoyé par le De ou le port lorsqu'un programme a été créé. |
|
DROITE, PICOSECONDE |
Envoyé par le De ou le port lorsqu'un programme a été détruit. |
|
DE |
Permet à un moteur de débogage pour remplacer le comportement par défaut de Visual Studiointerface utilisateur lorsque vous terminez une session de débogage. |
|
DE |
Envoyé du moteur (DE) de débogage au gestionnaire de débogage de session (SDM) lorsque le nom d'un programme change. |
|
DE |
Envoyé par le De lorsqu'une nouvelle propriété (représentée par l'interface d' IDebugProperty2 ) a été créée. |
|
DE |
Envoyé par le De lorsqu'une propriété a été détruite. |
|
DE |
Envoyé par le De lorsque la progression insuffisant ou sur une fonction que la valeur de retour peut être rendue correctement. |
|
VS |
Permet aux moteurs de débogage pour lire les paramètres métriques à distance. |
|
DE |
Envoyé par le De lorsqu'une étape dans, sur, ou à partir d'une instruction a été effectuée. |
|
DE |
Envoyé par le De pour indiquer le succès ou l'échec de chargement de symboles pour un module. |
|
DE |
Envoyé par le De lorsqu'un thread a été créé. |
|
DE |
Envoyé par le De lorsqu'un thread a été détruit. |
|
DE |
Envoyé par le De lorsqu'un thread a modifié son nom. |
expressions
ces interfaces représentent des expressions à évaluer dans un contexte particulier.
Interface |
implémenté par |
Description |
---|---|---|
DE |
représente une expression à évaluer. obtenu à partir de l'interface d' IDebugExpressionContext2 . |
|
DE |
représente un contexte dans lequel une expression est évaluée. obtenu à partir de l'interface d' IDebugStackFrame2 . |
|
DE |
Envoyé par le De lorsqu'une évaluation de l'expression asynchrone est terminée. |
Mémoire
Ces interfaces représentent des séquences d'octets en mémoire.
Interface |
implémenté par |
Description |
---|---|---|
DE |
Représente une séquence d'octets en mémoire à partir de laquelle peut être lu ou en écriture. |
|
DE |
représente un emplacement à la mémoire d'une séquence d'octets. |
Modules
ces interfaces représentent un module, qui correspond à un fichier exécutable ou au fichier.DLL.
Interface |
implémenté par |
Description |
---|---|---|
DE |
Représente un fichier exécutable ou une DLL unique. |
|
DE |
représente IDebugModule2 qui prend en charge des symboles. |
|
DE |
Envoyé par le De lorsqu'un module est chargé ou déchargé. |
|
DE |
Représente les informations du serveur source contenues dans un fichier PDB. |
|
DE |
Représente une énumération sur un ensemble de modules connus par IDebugProgram2. |
ports
Ces interfaces représentent des ports et les fournisseurs de port.
Interface |
implémenté par |
Description |
---|---|---|
VS, PICOSECONDE |
représente le port par défaut sur l'ordinateur local. |
|
VS |
Active un moteur de débogage qui utilise DCOM pour indiquer à Visual Studio interface utilisateur pour garantir que le pare-feu ne se bloque pas le débogage distant. |
|
VS, PICOSECONDE |
représente un port. |
|
PS |
envoyé par un port pour communiquer des événements de port à tout écouteur. |
|
PS |
Représente un port qui peut démarrer et arrêter des processus. |
|
PS |
Utilisé pour enregistrer et d'annuler l'enregistrement des programmes avec un port ; permet au port aux programmes de suivi actuellement en cours. |
|
PS |
Représente une interface utilisateur personnalisé pour sélectionner le port. |
|
VS |
Représente une demande d'un port à partir duquel un nouveau port est créé ou localisé. |
|
PS |
représente un fournisseur des ports. |
|
PS |
Représente un fournisseur des ports qui peuvent persister (enregistrement sur le disque) des informations sur les ports qu'il a créés. |
|
PS |
Active Visual Studio interface utilisateur du texte à l'intérieur de la section de Les informations de transport de la boîte de dialogue d' Attacher au processus . |
|
VS |
Permet demander des informations sur l'ordinateur cible. |
|
VS, PICOSECONDE |
Représente une énumération sur un ensemble de ports. |
|
VS |
Représente une énumération sur un ensemble de fournisseurs de port. |
Processus
ces interfaces représentent des processus, un fichier exécutable unique qui contient un ou plusieurs programmes.
Interface |
implémenté par |
Description |
---|---|---|
PICOSECONDE, PG.PRÉC |
Représente un processus qui s'exécute sur un ordinateur. |
|
PICOSECONDE, PG.PRÉC |
Représente un processus qui prend en charge active le débogage (utilisé pour remplacer l'étape, pour continuer, et exécuter des méthodes sur l'interface d' IDebugProgram2 ). |
|
DROITE, PICOSECONDE |
Envoyé par le De ou le port lorsqu'un processus a été créé. |
|
DROITE, PICOSECONDE |
Envoyé par le De ou le port lorsqu'un processus a été détruit. |
|
PS |
Représente un processus qui doit suivre cette session est attachée à celui-ci. |
|
PS |
Représente une énumération d'un jeu de processus sur un port. |
Programmes
Ces interfaces sont des programmes, les unités logiques d'exécution qui ne correspondent pas nécessairement dans un fichier exécutable ou à un module physique.
Interface |
implémenté par |
Description |
---|---|---|
DE |
Représente IDebugProgram2 qui doit s'exécuter de concert avec d'autres programmes en cours en même temps. |
|
DROITE, PICOSECONDE |
représente une unité logique d'exécution. |
|
DROITE, PICOSECONDE |
Envoyé par le De ou le port lorsqu'un programme a été créé. |
|
DROITE, PICOSECONDE |
Envoyé par le De ou le port lorsqu'un programme a été détruit. |
|
DROITE, PICOSECONDE |
Représente IDebugProgramNode2 qui peut être géré par plusieurs moteurs de débogage. |
|
PS |
Représente IDebugProgram2 qui doit pouvoir suivre cette session est attachée à celui-ci. |
|
DROITE, PICOSECONDE |
Représente IDebugProgram2 qui peut retourner des informations sur le processus dans lequel il s'exécute. |
|
DROITE, PICOSECONDE |
Représente un programme qui peut être débogué. |
|
DROITE, PICOSECONDE |
Permet un nœud de programme de telle sorte qu'il soit notifié d'une tentative de s'attacher au programme associé. |
|
DE |
Permet que le SDM interroge un De sur les programmes contrôlés par ce De. |
|
VS |
Utilisé par le DES pour stocker des programmes avec le SDM pour les afficher sont débogués. |
|
DROITE, PICOSECONDE |
Représente IDebugProgramNode2 qui peut marshaler des interfaces entre le thread ou traite des limites. |
|
DROITE, PICOSECONDE |
représente une énumération d'un ensemble de programmes. |
Propriétés
Ces interfaces représentent des propriétés, une valeur associée à un contexte particulier, généralement le résultat d'une évaluation de l'expression.
Interface |
implémenté par |
Description |
---|---|---|
EE |
Représente IDebugProperty2 qui peut afficher sa valeur d'une manière personnalisée. |
|
DE |
Représente une valeur d'un frame de pile, document, ou le résultat d'une évaluation de l'expression. |
|
DE |
Représente IDebugProperty2 qui prend en charge arbitrairement des chaînes longues. |
|
DE |
Envoyé par le De lorsqu'une nouvelle propriété (représentée par l'interface d' IDebugProperty2 ) a été créée. |
|
DE |
Envoyé par le De lorsqu'une propriété a été détruite. |
|
DE |
Représente une référence à une propriété qui peut exister hors de tout frame de pile particulier. |
|
DE |
Représente une énumération sur un jeu de structures de DEBUG_PROPERTY_INFORMATION qui décrivent des variables, des registres, les paramètres, et les expressions. |
|
DE |
Représente une énumération sur un jeu de structures de DEBUG_REFERENCE_INFORMATION . |
frames de pile
ces interfaces représentent un frame de pile, un contexte dans lequel un point d'arrêt ou une exception s'est produit.
Interface |
implémenté par |
Description |
---|---|---|
DE |
représente un contexte dans lequel un point d'arrêt ou une exception s'est produit. |
|
DE |
Représente IDebugStackFrame2 qui peut gérer des exceptions interceptées. |
|
DE |
Représente une énumération sur l'ensemble de structures de CODE_PATH qui spécifient la séquence d'appel de fonction utilisée pour arriver à un frame de pile particulier. |
|
DE |
Représente une énumération sur un jeu de structures de FRAMEINFO , qui décrivent des frames de pile. |
Threads
Ces interfaces représentent des threads et leurs événements associés.
Interface |
implémenté par |
Description |
---|---|---|
DE |
représente un thread d'exécution. |
|
DE |
Envoyé par le De lorsqu'un thread a été créé. |
|
DE |
Envoyé par le De lorsqu'un thread a été détruit. |
|
DE |
Envoyé par le De lorsqu'un thread a modifié son nom. |
|
DE |
Représente une énumération sur un ensemble de thread. |
visualiseurs de type
Ces interfaces fournissent une prise en charge des visualiseurs de type. Ces interfaces sont généralement implémentées par un évaluateur d'expression.
Interface |
implémenté par |
Description |
---|---|---|
EE |
Représente un tableau d'octets à présenter un visualiseur de type. |
|
EE |
Fournit des méthodes pour accéder aux données d'être passée à un visualiseur de type. |
|
EE |
Représente une propriété qui fournit l'accès aux implémentations d' IPropertyProxyEESide . |
Voir aussi
Référence
Référence des API (débogage Visual Studio)