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