Points d’arrêt

Le moteur de débogueur peut créer et surveiller des points d’arrêt dans la cible.

Il existe deux types de points d’arrêt que le moteur peut insérer dans une cible : les points d’arrêt logiciels et les points d’arrêt du processeur.

  • Les points d’arrêt logiciels sont insérés dans le code de la cible en modifiant l’instruction du processeur à l’emplacement du point d’arrêt. Le moteur de débogueur effectue le suivi de ces points d’arrêt ; ils sont invisibles pour les clients qui lisent et écrivent de la mémoire à cet emplacement. Un point d’arrêt logiciel est déclenché lorsque la cible exécute l’instruction modifiée.

  • Les points d’arrêt du processeur sont insérés dans le processeur de la cible par le moteur de débogueur. Un point d’arrêt du processeur peut être déclenché par différentes actions, par exemple, en exécutant une instruction à l’emplacement (comme des points d’arrêt logiciels), ou en lisant ou en écrivant de la mémoire à l’emplacement du point d’arrêt. La prise en charge des points d’arrêt du processeur dépend du processeur sur l’ordinateur cible.

L’adresse d’un point d’arrêt peut être spécifiée par une adresse explicite, par une expression qui prend la valeur d’une adresse ou par une expression qui peut être évaluée à une adresse à un moment ultérieur. Dans le dernier cas, chaque fois qu’un module est chargé ou déchargé dans la cible, le moteur tente de réévaluer l’expression et d’insérer le point d’arrêt s’il peut déterminer l’adresse ; cela permet de définir des points d’arrêt dans les modules avant leur chargement.

Un certain nombre de paramètres peuvent être associés à un point d’arrêt pour contrôler son comportement :

  • Un point d’arrêt peut être associé à un thread particulier dans la cible et n’est déclenché que par ce thread.

  • Des commandes de débogueur peuvent être associées à un point d’arrêt ; ces commandes sont exécutées automatiquement lorsque le point d’arrêt est déclenché.

  • Un point d’arrêt peut être marqué comme inactif jusqu’à ce que la cible lui ait passé un nombre spécifié de fois.

  • Un point d’arrêt peut être automatiquement supprimé la première fois qu’il est déclenché.

Informations supplémentaires

Pour plus d’informations sur l’utilisation des points d’arrêt, consultez Utilisation de points d’arrêt.