Inspecter des variables dans les fenêtres automatique et variables localesInspect variables in the Autos and Locals windows

Le automatique et variables locales windows affichent les valeurs des variables pendant le débogage.The Autos and Locals windows show variable values while you are debugging. Les fenêtres sont disponibles uniquement pendant une session de débogage.The windows are only available during a debugging session. Le automatique fenêtre affiche les variables utilisées autour du point d’arrêt actuel.The Autos window shows variables used around the current breakpoint. Le variables locales fenêtre affiche les variables définies dans la portée locale, qui est généralement la méthode ou la fonction active.The Locals window shows variables defined in the local scope, which is usually the current function or method. S’il s’agit de la première fois que vous avez essayé de déboguer du code, il pouvez que vous souhaitez lire débogage pour les débutants et techniques et des outils de débogage avant de poursuivre cet article.If this is the first time that you've tried to debug code, you may want to read Debugging for absolute beginners and Debugging techniques and tools before going through this article.

Le automatique fenêtre n’est disponible pour C#, code Visual Basic, C++ et Python, mais pas pour JavaScript ou F#.The Autos window is available for C#, Visual Basic, C++, and Python code, but not for JavaScript or F#.

Pour ouvrir le automatique fenêtre, pendant le débogage, sélectionnez déboguer > Windows > automatique, ou appuyez sur Ctrl+Alt+V > A.To open the Autos window, while debugging, select Debug > Windows > Autos, or press Ctrl+Alt+V > A.

Pour ouvrir le variables locales fenêtre, pendant le débogage, sélectionnez déboguer > Windows > variables locales, ou appuyez sur Alt+4.To open the Locals window, while debugging, select Debug > Windows > Locals, or press Alt+4.

Note

Cette rubrique s’applique à Visual Studio sur Windows.This topic applies to Visual Studio on Windows. Pour Visual Studio pour Mac, consultez des visualisations de données dans Visual Studio pour Mac.For Visual Studio for Mac, see Data visualizations in Visual Studio for Mac.

Utiliser les fenêtres automatique et variables localesUse the Autos and Locals windows

Affichent les tableaux et les objets dans le automatique et variables locales windows en tant que contrôles d’arborescence.Arrays and objects show in the Autos and Locals windows as tree controls. Sélectionnez la flèche vers la gauche d’un nom de variable pour développer la vue pour afficher les champs et propriétés.Select the arrow to the left of a variable name to expand the view to show fields and properties. Voici un exemple d’un System.IO.FileStream de l’objet dans le variables locales fenêtre :Here is an example of a System.IO.FileStream object in the Locals window:

Locals-FileStreamLocals-FileStream

Une valeur de rouge dans le variables locales ou automatique fenêtre signifie que la valeur a changé depuis la dernière évaluation.A red value in the Locals or Autos window means the value has changed since the last evaluation. Le changement peut provenir d’une précédente session de débogage, ou parce que vous avez modifié la valeur dans la fenêtre.The change could be from a previous debugging session, or because you have changed the value in the window.

Le format numérique par défaut dans les fenêtres du débogueur est décimal.The default numeric format in debugger windows is decimal. Pour modifier cette valeur au format hexadécimal, cliquez sur le variables locales ou automatique fenêtre et sélectionnez affichage hexadécimal.To change it to hexadecimal, right-click in the Locals or Autos window and select Hexadecimal Display. Cette modification affecte toutes les fenêtres du débogueur.This change affects all debugger windows.

Modifier les valeurs des variables dans la fenêtre automatique ou variables localesEdit variable values in the Autos or Locals window

Pour modifier les valeurs de la plupart des variables dans le automatique ou variables locales windows, double-cliquez sur la valeur et entrez la nouvelle valeur.To edit the values of most variables in the Autos or Locals windows, double-click the value and enter the new value.

Vous pouvez entrer une expression pour une valeur, par exemple a + b.You can enter an expression for a value, for example a + b. Le débogueur accepte la plupart des expressions de langage valides.The debugger accepts most valid language expressions.

Dans le code C++ natif, vous devrez peut-être qualifier le contexte d’un nom de variable.In native C++ code, you might have to qualify the context of a variable name. Pour plus d’informations, consultez Opérateur de contexte (C++).For more information, see Context operator (C++).

Caution

Assurez-vous que vous comprenez les conséquences avant de modifier des valeurs et les expressions.Make sure you understand the consequences before you change values and expressions. Certains problèmes possibles sont :Some possible issues are:

  • É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.Evaluating some expressions can change the value of a variable or otherwise affect the state of your program. Par exemple, l’évaluation var1 = ++var2 modifie la valeur des deux var1 et var2.For example, evaluating var1 = ++var2 changes the value of both var1 and var2. Ces expressions sont réputées pour avoir effets.These expressions are said to have side effects. Effets secondaires peuvent provoquer des résultats inattendus si vous n’êtes pas informé.Side effects can cause unexpected results if you are not aware of them.

  • Modifier des valeurs à virgule flottante risque d’entraîner quelques légères imprécisions, dues à la conversion en binaire de la partie décimale des composants fractionnaires.Editing floating-point values can result in minor inaccuracies because of decimal-to-binary conversion of fractional components. Même une modification apparemment anodine peut entraîner des modifications à certaines des bits dans la variable à virgule flottante.Even a seemingly harmless edit can result in changes to some of the bits in the floating-point variable.

Rechercher dans la fenêtre automatique ou variables localesSearch in the Autos or Locals window

Vous pouvez rechercher des mots clés dans les colonnes Nom, valeur et Type de la automatique ou variables locales fenêtre à l’aide de la barre de recherche au-dessus de chaque fenêtre.You can search for keywords in the Name, Value, and Type columns of the Autos or Locals window using the search bar above each window. Appuyez sur entrée ou sélectionnez une des flèches pour exécuter une recherche.Hit ENTER or select one of the arrows to execute a search. Pour annuler une recherche en cours, sélectionnez l’icône « x » dans la barre de recherche.To cancel an ongoing search, select the "x" icon in the search bar.

Utilisez les flèches gauche et droite (MAJ + F3 et F3, respectivement) pour naviguer entre trouvé des correspondances.Use the left and right arrows (Shift+F3 and F3, respectively) to navigate between found matches.

Recherche dans la fenêtre variables localesSearch in Locals Window

Pour rendre votre recherche plus ou moins complète, utilisez la recherche approfondie liste déroulante en haut de la automatique ou variables locales fenêtre pour sélectionner le nombre de niveaux que vous souhaitez rechercher dans objets imbriqués.To make your search more or less thorough, use the Search Deeper dropdown at the top of the Autos or Locals window to select how many levels deep you want to search into nested objects.

Modifier le contexte pour la fenêtre automatique ou variables localesChange the context for the Autos or Locals window

Vous pouvez utiliser la emplacement de débogage barre d’outils pour sélectionner une fonction souhaitée, le thread ou le processus, ce qui modifie le contexte pour le automatique et variables locales windows.You can use the Debug Location toolbar to select a desired function, thread, or process, which changes the context for the Autos and Locals windows.

Pour activer la emplacement de débogage barre d’outils, cliquez dans une partie vide de la zone de barre d’outils, puis sélectionnez emplacement de débogage à partir de la liste déroulante, ou sélectionnez vue > Barres d’outils > emplacement de débogage.To enable the Debug Location toolbar, click in an empty part of the toolbar area and select Debug Location from the dropdown, or select View > Toolbars > Debug Location.

Définissez un point d’arrêt et démarrez le débogage.Set a breakpoint and start debugging. Lorsque le point d’arrêt est atteint, les pauses d’exécution et que vous pouvez voir l’emplacement dans le emplacement de débogage barre d’outils.When the breakpoint is hit, execution pauses and you can see the location in the Debug Location toolbar.

Barre d’outils emplacement de débogageDebug Location toolbar

Variables dans la fenêtre automatique (C#, C++, Visual Basic, Python)Variables in the Autos window (C#, C++, Visual Basic, Python)

Affichent les variables différentes dans différents langages le automatique fenêtre.Different code languages display different variables in the Autos window.

  • En C# et en Visual Basic, la fenêtre Automatique affiche les variables utilisées sur la ligne actuelle ou précédente.In C# and Visual Basic, the Autos window displays any variable used on the current or preceding line. Par exemple, dans C# ou Visual Basic du code, déclarez les variables de quatre suivantes :For example, in C# or Visual Basic code, declare the following four variables:

         public static void Main()
         {
            int a, b, c, d;
            a = 1;
            b = 2;
            c = 3;
            d = 4;
         }
    

    Définissez un point d’arrêt sur la ligne c = 3;, et démarrez le débogueur.Set a breakpoint on the line c = 3;, and start the debugger. Lors de l’exécution s’arrête, le automatique fenêtre s’affiche :When execution pauses, the Autos window will display:

    Autos-CSharpAutos-CSharp

    La valeur de c est 0, car la ligne c = 3 n’a pas encore été exécutée.The value of c is 0, because the line c = 3 has not yet been executed.

  • En C++, le automatique fenêtre affiche les variables utilisées dans au moins trois lignes avant la ligne actuelle où l’exécution est suspendue.In C++, the Autos window displays the variables used in at least three lines before the current line where execution is paused. Par exemple, dans le code C++, déclarez six variables :For example, in C++ code, declare six variables:

         void main() {
             int a, b, c, d, e, f;
             a = 1;
             b = 2;
             c = 3;
             d = 4;
             e = 5;
             f = 6;
         }
    

    Définissez un point d’arrêt sur la ligne e = 5; et exécutez le débogueur.Set a breakpoint on the line e = 5; and run the debugger. Lors de l’exécution s’arrête, le automatique fenêtre s’affiche :When execution stops, the Autos window will display:

    Autos-C++Autos-C++

    La variable e n’est pas initialisée, car la ligne e = 5 n’a pas encore été exécutée.The variable e is uninitialized, because the line e = 5 has not yet been executed.

View return values of method callsView return values of method calls

Dans le code .NET et C++, vous pouvez examiner les valeurs de retour dans le automatique fenêtre lorsque vous arrivez sur ou hors d’un appel de méthode.In .NET and C++ code, you can examine return values in the Autos window when you step over or out of a method call. Appel de méthode d’affichage valeurs de retour peuvent être utiles lorsqu’elles ne sont pas stockées dans des variables locales.Viewing method call return values can be useful when they are not stored in local variables. Une méthode peut être utilisée en tant que paramètre, ou en tant que la valeur de retour d’une autre méthode.A method could be used as a parameter, or as the return value of another method.

Par exemple, ce qui suit C# code ajoute les valeurs de retour de deux fonctions :For example, the following C# code adds the return values of two functions:

static void Main(string[] args)
{
    int a, b, c, d;
    a = 1;
    b = 2;
    c = 3;
    d = 4;
    int x = sumVars(a, b) + subtractVars(c, d);
}

private static int sumVars(int i, int j)
{
    return i + j;
}

private static int subtractVars(int i, int j)
{
    return j - i;
}

Pour afficher les valeurs de retour de la sumVars() et subtractVars() des appels de méthode dans la fenêtre automatique :To see the return values of the sumVars() and subtractVars() method calls in the Autos window:

  1. Définissez un point d’arrêt sur la ligne int x = sumVars(a, b) + subtractVars(c, d); .Set a breakpoint on the int x = sumVars(a, b) + subtractVars(c, d); line.

  2. Démarrez le débogage et lors de l’exécution s’arrête au point d’arrêt, sélectionnez pas à pas principal ou appuyez sur F10.Start debugging, and when execution pauses at the breakpoint, select Step Over or press F10. Vous devez voir les valeurs de retournés suivantes dans le automatique fenêtre :You should see the following return values in the Autos window:

Valeur de retour automatique C# Autos return value C#

Voir aussiSee also