Partager via


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

IDebugBoundBreakpoint2

DE

Représente un point d'arrêt lié à un emplacement mémoire.

IDebugBreakpointBoundEvent2

DE

Envoyé par le De lorsqu'un point d'arrêt est lié à un emplacement mémoire.

IDebugBreakpointChecksumRequest2

VS

Représente une somme de contrôle document pour une requête de point d'arrêt.

IDebugBreakpointErrorEvent2

DE

Envoyé par le De lorsqu'un point d'arrêt n'est pas à un emplacement mémoire.

IDebugBreakpointEvent2

DE

Envoyé par le De lorsqu'un point d'arrêt est atteint.

IDebugBreakpointRequest2

VS

représente une demande d'un point d'arrêt ; utilisé en créant un point d'arrêt en attente.

IDebugBreakpointRequest3

VS

représente une demande d'un point d'arrêt ; utilisé en créant un point d'arrêt en attente.

IDebugBreakpointResolution2

DE

représente les informations utilisées pour lier un point d'arrêt.

IDebugBreakpointUnboundEvent2

DE

Envoyé par le De lorsqu'un point d'arrêt est annulé la liaison d'un emplacement de mémoire.

IDebugErrorBreakpoint2

DE

Représente un point d'arrêt non valide (retourné par IDebugBreakpointErrorEvent2).

IDebugErrorBreakpointResolution2

DE

Représente les informations sur la résolution sur un point d'arrêt non valide.

IDebugFunctionPosition2

DE

Représente une position dans une fonction où un point d'arrêt.

IDebugPendingBreakpoint2

DE

représente un point d'arrêt qui doit être lié ; utilisé en créant un point d'arrêt lié.

IEnumDebugBoundBreakpoints2

DE

Représente une énumération sur un ensemble de points d'arrêt liés.

IEnumDebugErrorBreakpoints2

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

IDebugCodeContext2

DE

représente la position de départ d'une instruction de code.

IDebugCodeContext3

DE

étend l'interface d' IDebugCodeContext2 pour activer la récupération du module et des interfaces de processus.

IDebugDocumentContext2

VS, PG.PRÉC

représente une position dans un document.

IDebugExpressionContext2

DE

Représente le contexte dans lequel évaluer une expression.

IDebugMemoryContext2

DE

Représente l'emplacement à partir à la mémoire d'une collection d'octets.

IDebugStackFrame2

DE

Représente un contexte du frame de pile à un point d'arrêt ou une exception.

IDebugStackFrame3

DE

Représente un contexte du frame de pile à un point d'arrêt ou une exception.

IEnumDebugCodeContexts2

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

IDebugCoreServer2

VS

Fournit l'accès aux ports et aux fournisseurs de port ainsi que des informations concernant l'ordinateur.

IDebugCoreServer3

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

IDebugEngine2

DE

représente un moteur de débogage personnalisé.

IDebugEngine3

DE

représente un moteur de débogage personnalisé qui prend en charge le chargement des symboles, du JustMyCode, et des exceptions.

IDebugEngineCreateEvent2

DE

Envoyé par chaque nouvelle instance De pour indiquer qu'il est prêt à gérer les tâches de débogage.

IDebugEngineLaunch2

DE

Représente un moteur de débogage personnalisé qui prend en charge exécuter les programmes.

IDebugProgramEngines2

DROITE, PICOSECONDE

Représente un nœud de programme qui gère plusieurs moteurs de débogage.

IDebugQueryEngine2

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

IDebugActivateDocumentEvent2

DE

envoyé par le De pour demander un document à ouvrir.

IDebugDisassemblyStream2

DE

représente un flux de données de l'instruction désassemblée d'un document.

IDebugDocument2

VS, PG.PRÉC

Représente un document fourni par le De, en spécifiant le nom et l'ID de classe (CLSID).

IDebugDocumentChecksum2

DROITE, EE

Représente un checksum pour un document de débogage et permet de passer la somme de contrôle entre les composants.

IDebugDocumentContext2

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.

IDebugDocumentPosition2

VS, PG.PRÉC

représente une position générale dans un document.

IDebugDocumentPositionOffset2

VS

Représente une position dans un fichier source comme un offset de caractère.

IDebugDocumentText2

VS, PG.PRÉC

Représente un document texte fourni par le De (dérivé d' IDebugDocument2), en fournissant le texte réel.

IDebugDocumentTextEvents2

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

IDebugActivateDocumentEvent2

DE

envoyé par le De pour demander un document à ouvrir.

IDebugBeforeSymbolSearchEvent2

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.

IDebugBreakEvent2

DE

Envoyé par le De lorsque l'interruption dans le programme a été effectué.

IDebugBreakpointBoundEvent2

DE

Envoyé par le De lorsqu'un point d'arrêt est lié.

IDebugBreakpointErrorEvent2

DE

Envoyé par le De lorsqu'un point d'arrêt n'est pas.

IDebugBreakpointEvent2

DE

Envoyé par le De lorsqu'un point d'arrêt est atteint.

IDebugBreakpointUnboundEvent2

DE

Envoyé par le De lorsqu'un point d'arrêt est annulé la liaison.

IDebugCanStopEvent2

DE

Envoyé par le De la pour déterminer s'il doit arrêter à un emplacement particulier.

IDebugDocumentTextEvents2

DE

Envoyé par le De pour spécifier les modifications apportées à un fichier source en mémoire.

IDebugEngineCreateEvent2

DE

Envoyé par chaque nouvelle instance De pour indiquer qu'il est prêt à gérer les tâches de débogage.

IDebugEntryPointEvent2

DE

Envoyé par le De pour indiquer le programme débogué est prêt à exécuter la première instruction.

IDebugErrorEvent2

DE

Une interface utilisée par d'autres interfaces d'événement, qui peuvent retourner une erreur, pour fournir des messages d'erreur explicites.

IDebugEvent2

DROITE, PICOSECONDE

Interface de base dont toutes les autres interfaces d'événement sont dérivées.

IDebugEventCallback2

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.

IDebugExceptionEvent2

DE

Envoyé lors De l'exécution lorsqu'une exception s'est produite dans le programme débogué.

IDebugExpressionEvaluationCompleteEvent2

DE

Envoyé par le De lorsqu'une évaluation de l'expression asynchrone est terminée.

IDebugFindSymbolEvent2

 

OBSOLÈTE. NE SUR UTILISEZ NOT.

IDebugInterceptExceptionCompleteEvent2

DE

Envoyé par le De lorsque le traitement d'une exception interceptée a été effectué.

IDebugLoadCompleteEvent2

DE

Envoyé par le De lorsqu'un programme a terminé le chargement.

IDebugMessageEvent2

DE

Envoyé par le De lui donner l'affichage de l'IDE un message d'information à l'utilisateur.

IDebugModuleLoadEvent2

DE

Envoyé par le De lorsqu'un module est chargé ou déchargé.

IDebugNoSymbolsEvent2

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é.

IDebugOutputStringEvent2

DE

Envoyé par le De lui donner l'affichage de l'IDE une chaîne arbitraire.

IDebugPortEvents2

VS, PG.PRÉC

envoyé par un port pour communiquer des événements de port à tout écouteur.

IDebugProcessCreateEvent2

DROITE, PICOSECONDE

Envoyé par le De ou le port lorsqu'un processus a été créé.

IDebugProcessDestroyEvent2

DROITE, PICOSECONDE

Envoyé par le De ou le port lorsqu'un processus a été détruit.

IDebugProgramCreateEvent2

DROITE, PICOSECONDE

Envoyé par le De ou le port lorsqu'un programme a été créé.

IDebugProgramDestroyEvent2

DROITE, PICOSECONDE

Envoyé par le De ou le port lorsqu'un programme a été détruit.

IDebugProgramDestroyEventFlags2

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.

IDebugProgramNameChangedEvent2

DE

Envoyé du moteur (DE) de débogage au gestionnaire de débogage de session (SDM) lorsque le nom d'un programme change.

IDebugPropertyCreateEvent2

DE

Envoyé par le De lorsqu'une nouvelle propriété (représentée par l'interface d' IDebugProperty2 ) a été créée.

IDebugPropertyDestroyEvent2

DE

Envoyé par le De lorsqu'une propriété a été détruite.

IDebugReturnValueEvent2

DE

Envoyé par le De lorsque la progression insuffisant ou sur une fonction que la valeur de retour peut être rendue correctement.

IDebugSettingsCallback2

VS

Permet aux moteurs de débogage pour lire les paramètres métriques à distance.

IDebugStepCompleteEvent2

DE

Envoyé par le De lorsqu'une étape dans, sur, ou à partir d'une instruction a été effectuée.

IDebugSymbolSearchEvent2

DE

Envoyé par le De pour indiquer le succès ou l'échec de chargement de symboles pour un module.

IDebugThreadCreateEvent2

DE

Envoyé par le De lorsqu'un thread a été créé.

IDebugThreadDestroyEvent2

DE

Envoyé par le De lorsqu'un thread a été détruit.

IDebugThreadNameChangedEvent2

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

IDebugExpression2

DE

représente une expression à évaluer. obtenu à partir de l'interface d' IDebugExpressionContext2 .

IDebugExpressionContext2

DE

représente un contexte dans lequel une expression est évaluée. obtenu à partir de l'interface d' IDebugStackFrame2 .

IDebugExpressionEvaluationCompleteEvent2

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

IDebugMemoryBytes2

DE

Représente une séquence d'octets en mémoire à partir de laquelle peut être lu ou en écriture.

IDebugMemoryContext2

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

IDebugModule2

DE

Représente un fichier exécutable ou une DLL unique.

IDebugModule3

DE

représente IDebugModule2 qui prend en charge des symboles.

IDebugModuleLoadEvent2

DE

Envoyé par le De lorsqu'un module est chargé ou déchargé.

IDebugSourceServerModule

DE

Représente les informations du serveur source contenues dans un fichier PDB.

IEnumDebugModules2

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

IDebugDefaultPort2

VS, PICOSECONDE

représente le port par défaut sur l'ordinateur local.

IDebugFirewallConfigurationCallback2

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.

IDebugPort2

VS, PICOSECONDE

représente un port.

IDebugPortEvents2

PS

envoyé par un port pour communiquer des événements de port à tout écouteur.

IDebugPortEx2

PS

Représente un port qui peut démarrer et arrêter des processus.

IDebugPortNotify2

PS

Utilisé pour enregistrer et d'annuler l'enregistrement des programmes avec un port ; permet au port aux programmes de suivi actuellement en cours.

IDebugPortPicker

PS

Représente une interface utilisateur personnalisé pour sélectionner le port.

IDebugPortRequest2

VS

Représente une demande d'un port à partir duquel un nouveau port est créé ou localisé.

IDebugPortSupplier2

PS

représente un fournisseur des ports.

IDebugPortSupplier3

PS

Représente un fournisseur des ports qui peuvent persister (enregistrement sur le disque) des informations sur les ports qu'il a créés.

IDebugPortSupplierDescription2

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 .

IDebugWindowsComputerPort2

VS

Permet demander des informations sur l'ordinateur cible.

IEnumDebugPorts2

VS, PICOSECONDE

Représente une énumération sur un ensemble de ports.

IEnumDebugPortSuppliers2

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

IDebugProcess2

PICOSECONDE, PG.PRÉC

Représente un processus qui s'exécute sur un ordinateur.

IDebugProcess3

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 ).

IDebugProcessCreateEvent2

DROITE, PICOSECONDE

Envoyé par le De ou le port lorsqu'un processus a été créé.

IDebugProcessDestroyEvent2

DROITE, PICOSECONDE

Envoyé par le De ou le port lorsqu'un processus a été détruit.

IDebugProcessEx2

PS

Représente un processus qui doit suivre cette session est attachée à celui-ci.

IEnumDebugProcesses2

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

IDebugEngineProgram2

DE

Représente IDebugProgram2 qui doit s'exécuter de concert avec d'autres programmes en cours en même temps.

IDebugProgram2

DROITE, PICOSECONDE

représente une unité logique d'exécution.

IDebugProgramCreateEvent2

DROITE, PICOSECONDE

Envoyé par le De ou le port lorsqu'un programme a été créé.

IDebugProgramDestroyEvent2

DROITE, PICOSECONDE

Envoyé par le De ou le port lorsqu'un programme a été détruit.

IDebugProgramEngines2

DROITE, PICOSECONDE

Représente IDebugProgramNode2 qui peut être géré par plusieurs moteurs de débogage.

IDebugProgramEx2

PS

Représente IDebugProgram2 qui doit pouvoir suivre cette session est attachée à celui-ci.

IDebugProgramHost2

DROITE, PICOSECONDE

Représente IDebugProgram2 qui peut retourner des informations sur le processus dans lequel il s'exécute.

IDebugProgramNode2

DROITE, PICOSECONDE

Représente un programme qui peut être débogué.

IDebugProgramNodeAttach2

DROITE, PICOSECONDE

Permet un nœud de programme de telle sorte qu'il soit notifié d'une tentative de s'attacher au programme associé.

IDebugProgramProvider2

DE

Permet que le SDM interroge un De sur les programmes contrôlés par ce De.

IDebugProgramPublisher2

VS

Utilisé par le DES pour stocker des programmes avec le SDM pour les afficher sont débogués.

IDebugProviderProgramNode2

DROITE, PICOSECONDE

Représente IDebugProgramNode2 qui peut marshaler des interfaces entre le thread ou traite des limites.

IEnumDebugPrograms2

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

IDebugCustomViewer

EE

Représente IDebugProperty2 qui peut afficher sa valeur d'une manière personnalisée.

IDebugProperty2

DE

Représente une valeur d'un frame de pile, document, ou le résultat d'une évaluation de l'expression.

IDebugProperty3

DE

Représente IDebugProperty2 qui prend en charge arbitrairement des chaînes longues.

IDebugPropertyCreateEvent2

DE

Envoyé par le De lorsqu'une nouvelle propriété (représentée par l'interface d' IDebugProperty2 ) a été créée.

IDebugPropertyDestroyEvent2

DE

Envoyé par le De lorsqu'une propriété a été détruite.

IDebugReference2

DE

Représente une référence à une propriété qui peut exister hors de tout frame de pile particulier.

IEnumDebugPropertyInfo2

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.

IEnumDebugReferenceInfo2

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

IDebugStackFrame2

DE

représente un contexte dans lequel un point d'arrêt ou une exception s'est produit.

IDebugStackFrame3

DE

Représente IDebugStackFrame2 qui peut gérer des exceptions interceptées.

IEnumCodePaths2

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.

IEnumDebugFrameInfo2

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

IDebugThread2

DE

représente un thread d'exécution.

IDebugThreadCreateEvent2

DE

Envoyé par le De lorsqu'un thread a été créé.

IDebugThreadDestroyEvent2

DE

Envoyé par le De lorsqu'un thread a été détruit.

IDebugThreadNameChangedEvent2

DE

Envoyé par le De lorsqu'un thread a modifié son nom.

IEnumDebugThreads2

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

IEEDataStorage

EE

Représente un tableau d'octets à présenter un visualiseur de type.

IPropertyProxyEESide

EE

Fournit des méthodes pour accéder aux données d'être passée à un visualiseur de type.

IPropertyProxyProvider

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)

Autres ressources

créer un moteur de débogage personnalisé