Partager via


Méthodes liées au point d’arrêt

Un moteur de débogage (DE) doit prendre en charge la configuration des points d’arrêt. Le débogage de Visual Studio prend en charge les types de points d’arrêt suivants :

  • Contrainte

    Demandé via l’interface utilisateur et lié avec succès à un emplacement de code spécifié

  • En attente

    Demandé par le biais de l’interface utilisateur, mais pas encore lié à des instructions réelles

Discussion

Par exemple, un point d’arrêt en attente survient lorsque les instructions ne sont pas encore chargées. Lorsque le code est chargé, les points d’arrêt en attente tentent de lier du code à l’emplacement prescrit, autrement dit, pour insérer des instructions d’arrêt dans le code. Les événements sont envoyés au gestionnaire de débogage de session (SDM) pour indiquer la liaison réussie ou pour avertir qu’il y avait des erreurs de liaison.

Un point d’arrêt en attente gère également sa propre liste interne de points d’arrêt correspondants. Un point d’arrêt en attente peut entraîner l’insertion de nombreux points d’arrêt dans le code. L’interface utilisateur de débogage Visual Studio affiche une arborescence des points d’arrêt en attente et les points d'arrêt correspondants liés.

La création et l’utilisation de points d’arrêt en attente nécessitent l’implémentation de la méthode IDebugEngine2 ::CreatePendingBreakpoint , ainsi que les méthodes suivantes des interfaces IDebugPendingBreakpoint2 .

Méthode Descriptif
CanBind Détermine si un point d’arrêt en attente spécifié peut être associé à un emplacement de code.
Associer Lie un point d’arrêt en attente spécifié à un ou plusieurs emplacements de code.
GetState Obtient l’état d’un point d’arrêt en attente.
GetBreakpointRequest Obtient la requête de point d’arrêt utilisée pour créer un point d’arrêt en attente.
Activer Bascule l’état activé d’un point d’arrêt en attente.
EnumBoundBreakpoints Répertorie tous les points d’arrêt associés à partir d’un point d’arrêt en attente.
EnumErrorBreakpoints Énumère tous les points d’arrêt d’erreur résultant d’un point d’arrêt en attente.
Supprimer Supprime un point d’arrêt en attente et tous les points d’arrêt qui y sont liés.

Pour énumérer les points d’arrêt liés et les points d’arrêt d’erreur, vous devez implémenter toutes les méthodes d’IEnumDebugBoundBreakpoints2 et IEnumDebugErrorBreakpoints2.

Les points d’arrêt en attente qui se lient à un emplacement de code nécessitent l’implémentation des méthodes IDebugBoundBreakpoint2 suivantes.

Méthode Descriptif
GetPendingBreakpoint Obtient le point d’arrêt en attente qui contient un point d’arrêt.
GetState Obtient l’état d’un point d’arrêt lié.
GetBreakpointResolution Obtient la résolution de point d’arrêt qui décrit un point d’arrêt.
Activer Active ou désactive un point d’arrêt.
Supprimer Supprime un point d’arrêt associé.

Les informations de résolution et de requête nécessitent l’implémentation des méthodes IDebugBreakpointResolution2 suivantes.

Méthode Descriptif
GetBreakpointType Obtient le type du point d’arrêt représenté par une résolution.
GetResolutionInfo Obtient les informations de résolution de point d’arrêt qui décrivent un point d’arrêt.

La résolution des erreurs qui peuvent se produire pendant la liaison nécessite l’implémentation des méthodes IDebugErrorBreakpoint2 suivantes.

Méthode Descriptif
GetPendingBreakpoint Obtient le point d’arrêt en attente qui contient un point d’arrêt d’erreur.
GetBreakpointResolution Obtient la résolution du point d'arrêt d'erreur qui décrit un point d'arrêt d'erreur.

La résolution des erreurs qui peuvent se produire pendant la liaison nécessite également les méthodes suivantes d’IDebugErrorBreakpointResolution2.

Méthode Descriptif
GetBreakpointType Obtient le type d’un point d’arrêt.
GetResolutionInfo Obtient les informations de résolution d’un point d’arrêt.

L’affichage du code source à un point d’arrêt vous oblige à implémenter les méthodes d’IDebugStackFrame2 ::GetDocumentContext et/ou les méthodes d’IDebugStackFrame2 ::GetCodeContext.

Voir aussi