Partager via


Méthodes de contrôle des points d’arrêt

Vous pouvez spécifier l’emplacement d’un point d’arrêt par adresse virtuelle, décalages de module et de routine, ou fichier source et numéro de ligne (en mode source). Si vous placez un point d’arrêt sur une routine sans décalage, le point d’arrêt est activé lorsque cette routine est entrée.

Il existe plusieurs autres types de points d’arrêt :

  • Un point d’arrêt peut être associé à un certain thread.

  • Un point d’arrêt peut activer un nombre fixe de passages à travers une adresse avant qu’il ne soit déclenché.

  • Un point d’arrêt peut émettre automatiquement certaines commandes lorsqu’il est déclenché.

  • Un point d’arrêt peut être défini sur la mémoire non exécutable et watch pour que cet emplacement soit lu ou écrit.

Si vous déboguez plusieurs processus en mode utilisateur, la collection de points d’arrêt dépend du processus actuel. Pour afficher ou modifier les points d’arrêt d’un processus, vous devez sélectionner le processus en tant que processus actuel. Pour plus d’informations sur le processus actuel, consultez Contrôle des processus et des threads.

Commandes de débogueur pour le contrôle et l’affichage des points d’arrêt

Pour contrôler ou afficher des points d’arrêt, vous pouvez utiliser les méthodes suivantes :

Dans WinDbg, il existe plusieurs éléments d’interface utilisateur qui facilitent le contrôle et l’affichage des points d’arrêt. Consultez Définition de points d’arrêt dans WinDbg (classique).

Chaque point d’arrêt est associé à un nombre décimal appelé ID de point d’arrêt. Ce nombre identifie le point d’arrêt dans différentes commandes.

Commandes de point d’arrêt

Vous pouvez inclure une commande dans un point d’arrêt qui est exécuté automatiquement lorsque le point d’arrêt est atteint. Par exemple, la commande suivante s’arrête sur MyFunction+0x47, écrit un fichier de vidage, puis reprend l’exécution.

0:000> bu MyFunction+0x47 ".dump c:\mydump.dmp; g" 

Note Si vous contrôlez le débogueur en mode utilisateur à partir du débogueur du noyau, n’utilisez pas g (Go) dans la chaîne de commande du point d’arrêt. Il se peut que l’interface série ne puisse pas suivre cette commande et que vous ne puissiez pas vous reconnecter à CDB. Pour plus d’informations sur cette situation, consultez Contrôle du débogueur User-Mode à partir du débogueur de noyau.

Nombre de points d’arrêt

En mode noyau, vous pouvez utiliser un maximum de 32 points d’arrêt logiciels. En mode utilisateur, vous pouvez utiliser n’importe quel nombre de points d’arrêt logiciels.

Le nombre de points d’arrêt du processeur pris en charge dépend de l’architecture du processeur cible.

Points d'arrêt conditionnels

Vous pouvez définir un point d’arrêt qui est déclenché uniquement dans certaines conditions. Pour plus d’informations sur ces types de points d’arrêt, consultez Définition d’un point d’arrêt conditionnel.

Points d’arrêt ambigus

Dans les versions 10.0.25310.1001 et ultérieures du moteur de débogueur, la résolution ambiguë des points d’arrêt est désormais prise en charge. Les points d’arrêt ambigus permettent au débogueur de définir des points d’arrêt dans certains scénarios où une expression de point d’arrêt est résolue à plusieurs emplacements. Pour plus d’informations, consultez Résolution ambiguë des points d’arrêt.

Voir aussi

Utilisation des points d’arrêt

Syntaxe du point d’arrêt

bp, bu, bm (Définir le point d’arrêt)

Points d’arrêt non résolus (bu Points d’arrêt)