Partager via


Comment : définir un point d'arrêt de données (natif uniquement)

Mise à jour : novembre 2007

Cette rubrique s'applique à :

Édition

Visual Basic

C#

C++

Web Developer

Express

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

Natif uniquement

La rubrique ne s'applique pas

Standard

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

Natif uniquement

La rubrique ne s'applique pas

Pro et Team

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

Natif uniquement

La rubrique ne s'applique pas

Légende du tableau :

La rubrique s'applique

Applicable

La rubrique ne s'applique pas

Non applicable

La rubrique s'applique mais la commande est masquée par défaut

Commande ou commandes masquées par défaut.

Les points d'arrêt sur données 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 données 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 données 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 données, 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 données sont automatiquement désactivés à la fin de chaque session de débogage.

Si vous définissez un point d'arrêt sur données 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 données 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 données au maximum par solution.

Remarque :

Les boîtes de dialogue et les commandes de menu qui s'affichent peuvent être différentes de celles qui sont décrites dans l'aide, en fonction de vos paramètres actifs ou de l'édition utilisée. Pour modifier vos paramètres, choisissez Importation et exportation de paramètres dans le menu Outils. Pour plus d'informations, consultez Paramètres Visual Studio.

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 et cliquez sur Nouveau point d'arrêt sur variable

    - ou -

    Dans la fenêtre de menu Points d'arrêt, cliquez sur la liste déroulante Nouveau et sélectionnez 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, &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

Points d'arrêt et points de trace