Partager via


Comment : définir un point d'arrêt sur variable (natif uniquement)

Cette rubrique s'applique à :

Édition

Visual Basic

C#

F#

C++

Web Developer

Express

La rubrique ne s'applique pas La rubrique ne s'applique pas La rubrique ne s'applique pas

Natif uniquement

La rubrique ne s'applique pas

Pro, Premium et Ultimate

La rubrique ne s'applique pas La rubrique ne s'applique pas La rubrique ne s'applique pas

Natif uniquement

La rubrique ne s'applique pas

Les points d'arrêt sur variable interrompent l'exécution lorsqu'une valeur stockée dans un emplacement mémoire spécifié est écrite. Si la valeur est lue mais pas écrite, l'exécution n'est pas interrompue.

Les points d'arrêt sur variable ne fonctionnent pas dans les conditions suivantes : un processus qui n'est pas débogué écrit dans l'emplacement mémoire ou l'emplacement mémoire est partagé par deux processus au moins.

Les points d'arrêt sur variable ne fonctionnent pas si l'emplacement mémoire est mis à jour dans le noyau. Par exemple, si la mémoire est transmise à la fonction Windows ReadFile 32 bits, elle est mise à jour à partir du mode noyau et le débogueur ne s'interrompt pas à l'écriture en mémoire.

Pour définir des points d'arrêt sur variable, le débogueur doit être en mode arrêt seulement.

Les adresses de variables changent d'une session de débogage à la suivante. C'est pour cette raison que les points d'arrêt sur variable sont automatiquement désactivés à la fin de chaque session de débogage.

Si vous définissez un point d'arrêt sur une variable locale, ce point reste actif lorsque la fonction s'arrête. Toutefois, l'adresse mémoire qui lui est attribuée n'a plus la même signification. Par conséquent, les résultats d'un tel point d'arrêt sont imprévisibles. Si vous définissez un point d'arrêt sur une variable locale, la meilleure pratique consiste à le supprimer ou le désactiver avant l'arrêt de la fonction.

Visual Studio prend actuellement en charge quatre points d'arrêt sur variable au maximum par solution.

Notes

Selon vos paramètres actifs ou votre édition, les boîtes de dialogue et les commandes de menu que vous voyez peuvent différer de celles qui sont décrites dans l'aide. Pour modifier vos paramètres, choisissez Importation et exportation de paramètres dans le menu Outils. Pour plus d'informations, consultez Utilisation des paramètres.

Pour définir un point d'arrêt sur modification de la mémoire

  1. Dans le menu Déboguer, sélectionnez Nouveau point d'arrêt , puis cliquez sur Nouveau point d'arrêt sur variable.

    ou

    Dans le menu de la fenêtre Points d'arrêt, cliquez Nouveau, puis choisissez Nouveau point d'arrêt sur variable.

    La boîte de dialogue Nouveau point d'arrêt s'affiche.

  2. Dans la zone Adresse, tapez une adresse mémoire ou une expression dont l'évaluation donne une adresse mémoire.

    Par exemple, tapez &avar pour arrêter l'exécution lorsque le contenu de la variable avar change.

  3. Dans la zone Nombre d'octets, tapez le nombre d'octets que vous souhaitez voir surveillés par le débogueur.

    Par exemple, si vous tapez 4, le débogueur surveillera les quatre octets qui commencent à &myFunction et arrêtera l'exécution si l'un de ces octets change de valeur.

  4. Cliquez sur OK.

Voir aussi

Concepts

Breakpoints and Tracepoints