Partager via


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

Un point d’arrêt est un emplacement dans le code exécutable auquel le système d’exploitation arrête l’exécution et s’arrête dans le débogueur. Cela vous permet d’analyser les commandes du débogueur cible et d’émettre.

Vous pouvez spécifier l’emplacement d’un point d’arrêt par adresse virtuelle, module et décalages de routine, ou le fichier source et le 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 types supplémentaires de points d’arrêt :

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

  • Un point d’arrêt peut activer un nombre fixe de passages via une adresse avant qu'il 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 pour surveiller cet emplacement lors des lectures ou écritures.

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 comme processus actuel. Pour plus d’informations sur le processus actuel, consultez Contrôle des processus et des threads.

Commandes du 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 des points d’arrêt dans WinDbg (classique).

Chaque point d’arrêt a un nombre décimal appelé ID de point d’arrêt associé. 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 de point d’arrêt. L’interface série peut ne pas être en mesure de suivre cette commande et vous ne pourrez pas vous reconnecter à CDB. Pour plus d’informations sur cette situation, consultez Contrôle du débogueur User-Mode à partir du débogueur du 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 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 la version 10.0.25310.1001 et ultérieure du moteur de débogage, la résolution des points d’arrêt ambigus 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 se résout à plusieurs emplacements. Pour plus d’informations, consultez Résolution ambiguë du point d’arrêt.

Voir aussi

utilisation de points d’arrêt

Syntaxe de point d’arrêt

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

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