Comment : surveiller une expression dans le débogueur

La fenêtre Espion et la boîte de dialogue Espion express sont les endroits où vous pouvez saisir le nom des variables et des expressions que vous souhaitez surveiller au cours d'une session de débogage.

La boîte de dialogue Espion express vous permet d'examiner une seule variable ou expression à la fois. Elle est utile pour jeter un coup d'œil rapide à une valeur ou à une plus grande structure de données. La fenêtre Espion peut stocker plusieurs variables et expressions que vous souhaitez voir au cours de la session de débogage. Certaines éditions de Visual Studio comprennent plusieurs fenêtres Espion, numérotées d'Espion1 à Espion4.

Pour plus d'informations sur l'ouverture des fenêtres Espion ou Espion express, voir Comment : utiliser les fenêtres des variables du débogueur.

Un nom de variable est l'expression la plus simple que vous puissiez saisir. Si vous déboguez du code natif, vous pouvez utiliser des noms de registres aussi bien que des noms de variables. Le débogueur peut cependant accepter des expressions beaucoup plus complexes. Vous pouvez, par exemple, saisir l'expression suivante pour trouver la valeur moyenne de trois variables :

(var1 + var2 + var3) / 3

En C#, vous pouvez entrer un ID d'objet ou un alias à la place du nom de l'objet.

Le débogueur accepte la plupart des expressions de langage valides dans une fenêtre Espion. Pour plus d'informations, consultez Expressions dans le débogueur.

Si vous programmez en code natif, vous aurez parfois besoin de qualifier le contexte d'un nom de variable ou d'une expression contenant un nom de variable. Par contexte, on entend la fonction, le fichier source et le module dans lesquels se trouve une variable. Dans ce cas, vous pouvez utiliser la syntaxe d'opérateur de contexte. Pour plus d'informations, consultez Using context operators to specify a symbol.

Expressions qui affectent l'état de votre programme

Évaluer certaines expressions peut modifier la valeur d'une variable ou affecter d'une manière ou d'une autre l'état de votre programme. Par exemple, évaluer l'expression suivante modifie la valeur de var1 :

var1 = var2

Les expressions qui modifient les données sont réputées avoir des effets secondaires. Si vous saisissez une expression ayant un effet secondaire dans la fenêtre Espion, cet effet secondaire se produira chaque fois que l'expression sera évaluée par la fenêtre Espion. Cela peut produire des résultats inattendus si vous ignorez que l'expression entraîne des effets secondaires. Une expression connue pour avoir des effets secondaires n'est évaluée qu'une seule fois, lorsque vous la saisissez. Les évaluations suivantes sont désactivées. Vous pouvez substituer manuellement ce comportement en cliquant sur une icône de mise à jour qui s'affiche à côté de la valeur.

Les effets secondaires inattendus sont souvent le résultat d'évaluations de fonctions. Par exemple, vous pouvez introduire l'appel de fonction suivant dans la fenêtre Espion :

Func1(var1)

Si vous appelez une fonction depuis la fenêtre Espion ou Espion express, la fonction que vous appelez peut modifier des données, créant ainsi un effet secondaire. Une des solutions pour éviter les éventuels effets secondaires dus à l'évaluation d'une fonction consiste à désactiver l'évaluation de fonction automatique dans la boîte de dialogue Options. Cela désactive l'évaluation automatique des nouvelles fonctionnalités de langage, telles que les propriétés. Cependant, c'est plus sûr.

Notes

Lorsque vous examinez une expression dans la fenêtre Espion, vous pouvez parfois voir apparaître une icône de mise à jour, qui ressemble à deux flèches vertes tournant dans des directions opposées au sein d'un cercle vert.Cela risque d'autant plus de se produire si vous avez désactivé l'évaluation de fonction automatique.L'icône de mise à jour indique la présence d'une erreur ou d'une valeur obsolète.Pour plus d'informations, consultez Comment : actualiser les valeurs des espions.

Pour le code natif et C#, vous pouvez spécifier un format d'affichage de la valeur de l'expression à l'aide de spécificateurs de format. Pour plus d’informations, consultez Spécificateurs de format en C++ et Spécificateurs de format en C#.

Le débogueur Visual Studio développe automatiquement des types de données communs pour en afficher les éléments essentiels. Vous pouvez ajouter des expansions pour les types de données personnalisés. Pour plus d’informations, consultez Affichage des types de données personnalisés et Visualiseurs.

Notes

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.

Évaluer une expression dans la fenêtre Espion

  1. Dans la fenêtre Espion, double-cliquez sur une ligne vide dans la colonne Nom. Assurez-vous que le débogueur est alors en mode arrêt. Saisissez ou collez le nom de la variable ou de l'expression que vous souhaitez surveiller.

    - ou -

    Faites glisser une variable sur une ligne de la fenêtre Espion.

  2. Appuyez sur ENTRÉE.

    Le résultat s'affiche dans la colonne Valeur. Si vous saisissez le nom d'un tableau ou d'une variable objet, un contrôle d'arborescence apparaît à côté du nom dans la zone Nom. Développez ou réduisez la variable dans la colonne Nom.

    L'expression reste dans la fenêtre Espion jusqu'à ce que vous la supprimiez.

Évaluer une expression dans Espion express

  1. Dans la boîte de dialogue Espion express, dans la zone de texte Expression, tapez ou collez la variable, le Registre ou l'expression.

  2. Cliquez sur Réévaluer ou appuyez sur ENTRÉE.

  3. La valeur est affichée dans la zone Valeur actuelle.

  4. Si vous saisissez le nom d'un tableau ou d'une variable objet dans la zone Expression, un contrôle d'arborescence apparaît à côté du nom dans la zone Valeur actuelle. Développez ou réduisez la variable dans la colonne Nom.

Réévaluer une expression précédente dans Espion express

  1. Dans la boîte de dialogue Espion express, cliquez sur la flèche bas qui apparaît à droite de la zone Expression.

  2. Sélectionnez l'une des expressions précédentes sur la liste déroulante.

  3. Cliquez sur Réévaluer.

Voir aussi

Tâches

Comment : utiliser les fenêtres des variables du débogueur

Autres ressources

Fenêtres de variables