Didacticiel : Apprenez à déboguer à l’aide de Visual StudioTutorial: Learn to debug using Visual Studio

Cette rubrique présente les fonctionnalités du débogueur Visual Studio dans une procédure pas à pas.This topic introduces the features of the Visual Studio debugger in a step-by-step walkthrough. Si vous souhaitez une vue plus générale des fonctionnalités du débogueur, consultez visite guidée des fonctionnalités débogueur.If you want a higher-level view of the debugger features, see Debugger Feature Tour. Lorsque vous déboguer votre application, cela signifie généralement que vous exécutez votre application avec le débogueur attaché.When you debug your app, it usually means that you are running your application with the debugger attached. Lorsque vous effectuez cette opération, le débogueur fournit de nombreuses façons de voir ce que fait votre code pendant son exécution.When you do this, the debugger provides many ways to see what your code is doing while it runs. Vous pouvez parcourir votre code et examinez les valeurs stockées dans des variables, vous pouvez définir des observations sur les variables pour voir lorsque les valeurs changent, vous pouvez examiner le chemin d’accès de l’exécution de votre code, et al. 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 avant de passer par cette rubrique.You can step through your code and look at the values stored in variables, you can set watches on variables to see when values change, you can examine the execution path of your code, et al. If this is the first time that you've tried to debug code, you may want to read Debugging for absolute beginners before going through this topic.

Vous pouvez lire le long à découvrir les fonctionnalités du débogueur, ou vous pouvez télécharger l’exemple complet utilisé dans la visite guidée des fonctionnalités et suivez les étapes vous-même.You can either read along to see the features of the debugger or you can download the complete sample used in the feature tour and follow the steps yourself. Pour télécharger l’exemple et suivre la procédure, accédez à démo de la visionneuse Photo.To download the sample and follow along, go to Photo Viewer Demo.

Icône représentant une caméra pour les vidéosmovie camera icon for video Regardez une vidéo sur le débogage, qui affiche des étapes similaires.Watch a video on debugging that shows similar steps.

Bien que l’application de démonstration est c#, les fonctionnalités sont applicables à C++, Visual Basic, JavaScript et autres langues prises en charge par Visual Studio (sauf indication contraire).Although the demo app is C#, the features are applicable to C++, Visual Basic, JavaScript, and other languages supported by Visual Studio (except where noted).

Dans ce didacticiel, vous allez effectuer les actions suivantes :In this tutorial, you will:

  • Démarrez le débogueur et les points d’arrêt.Start the debugger and hit breakpoints.
  • Découvrez les commandes pour parcourir le code dans le débogueurLearn commands to step through code in the debugger
  • Inspecter des variables dans des bulles d’informations et les fenêtres du débogueurInspect variables in data tips and debugger windows
  • Examiner la pile des appelsExamine the call stack
  • L’assistance d’ExceptionUse the Exception Helper

PrérequisPrerequisites

  • Vous devez disposer de Visual Studio 2017 est installé et le. NET développement bureautique charge de travail.You must have Visual Studio 2017 installed and the .NET desktop development workload.

    Si vous n’avez pas encore installé Visual Studio, accédez à la page Téléchargements Visual Studio pour l’installer gratuitement.If you haven't already installed Visual Studio, go to the Visual Studio downloads page to install it for free.

    Si vous devez installer la charge de travail mais que vous avez déjà Visual Studio, cliquez sur le lien Ouvrir Visual Studio Installer dans le volet gauche de la boîte de dialogue Nouveau projet (sélectionnez Fichier > Nouveau > Projet).If you need to install the workload but already have Visual Studio, click the Open Visual Studio Installer link in the left pane of the New Project dialog box (select File > New > Project). Visual Studio Installer est lancé.The Visual Studio Installer launches. Choisissez le. Développement bureautique NET charge de travail, puis choisissez modifier.Choose the .NET desktop development workload, then choose Modify.

Démarrez le débogueur !Start the debugger!

  1. Pour suivre ces étapes dans Visual Studio, téléchargez l’exemple sur cette page.To follow along these steps in Visual Studio, download the sample on this page.

    Important

    Vous devez installer Visual Studio avec la charge de travail de développement de bureau .NET pour exécuter l’application que nous utilisons dans la démonstration.You need to install Visual Studio with the .NET Desktop Development workload to run the app we're using in the demo.

  2. Décompressez le projet.Unzip the project.

  3. Ouvrez Visual Studio et sélectionnez le fichier > Ouvrir menu de commande, puis choisissez projet/Solution, puis ouvrez le dossier où vous avez téléchargé le projet.Open Visual Studio and select the File > Open menu command, then choose Project/Solution, and then open the folder where you downloaded the project.

    Ouvrez l’exemple de projetOpen the sample project

  4. Ouvrez la démonstration de visionneuse de photos WPF > dossier c#, choisissez le photoapp.sln et sélectionnez Open.Open the WPF Photo Viewer Demo > C# folder, choose the photoapp.sln file, and select Open.

    Le projet s’ouvre dans Visual Studio.The project opens in Visual Studio. L’Explorateur de solutions dans le volet de droite vous montre tous les fichiers projet.Solution Explorer in the right pane shows you all the project files.

    Fichiers de l’Explorateur de solutionsSolution Explorer files

  5. Appuyez sur F5 (Déboguer > Démarrer le débogage) ou le démarrer le débogage bouton démarrer le débogage dans la barre d’outils de débogage.Press F5 (Debug > Start Debugging) or the Start Debugging button Start Debugging in the Debug Toolbar.

    Application de visionneuse de photosPhoto Viewer app

    F5 démarre l’application avec le débogueur attaché au processus de l’application, mais droite maintenant nous n’avons pas ajouté les points d’arrêt ou fait rien de spécial à examiner le code.F5 starts the app with the debugger attached to the app process, but right now we haven't added any breakpoints or done anything special to examine the code. Par conséquent, l’application se charge juste et vous voyez les images de photos.So the app just loads and you see the photo images.

    Dans cette présentation, nous examinons plus en détail cette application à l’aide du débogueur et avoir une idée du débogueur de fonctionnalités.In this tour, we'll take a closer look at this app using the debugger and get a look at the debugger features.

  6. Arrêtez le débogueur en appuyant sur le taquet rouge arrêter le débogage bouton.Stop the debugger by pressing the red stop Stop Debugging button.

Définissez un point d’arrêt et démarrez le débogueurSet a breakpoint and start the debugger

Pour déboguer, vous devez démarrer votre application avec le débogueur attaché au processus de l’application.To debug, you need to start your app with the debugger attached to the app process.

  1. Dans le MainWindow constructeur de MainWindow.xaml.cs, définissez un point d’arrêt en cliquant sur la marge gauche de la première ligne de code.In the MainWindow constructor of MainWindow.xaml.cs, set a breakpoint by clicking the left margin of the first line of code.

    Définissez un point d’arrêtSet a breakpoint

    Les points d'arrêt constituent une fonctionnalité élémentaire et essentielle de toute procédure de débogage fiable.Breakpoints are the most basic and essential feature of reliable debugging. Quand vous définissez un point d'arrêt, Visual Studio interrompt l'exécution du code à l'emplacement du point d'arrêt pour vous permettre d'examiner les valeurs des variables, le comportement de la mémoire ou encore la bonne exécution ou non d'une branche de code.A breakpoint indicates where Visual Studio should suspend your running code so you can take a look at the values of variables, or the behavior of memory, or whether or not a branch of code is getting run.

  2. Appuyez sur F5 ou démarrer le débogage bouton, l’application démarre, et le débogueur exécute jusqu'à la ligne de code où vous avez défini le point d’arrêt.Press F5 or the Start Debugging button, the app starts, and the debugger runs to the line of code where you set the breakpoint.

    La flèche jaune représente l’instruction sur laquelle le débogueur a suspendu, ce qui interrompt également l’exécution d’application au même moment (cette instruction n’a pas encore exécuté).The yellow arrow represents the statement on which the debugger paused, which also suspends app execution at the same point (this statement has not yet executed).

    F5 continue l’exécution de l’application au point d’arrêt suivant.F5 continues running the app to the next breakpoint. (Si l’application n’est pas encore en cours d’exécution, F5 démarre le débogueur et s’arrête au premier point d’arrêt).(If the app is not yet running, F5 starts the debugger and stops at the first breakpoint.)

    Les points d’arrêt sont une fonctionnalité utile quand vous savez quelle ligne ou section de code vous voulez examiner en détail.Breakpoints are a useful feature when you know the line of code or the section of code that you want to examine in detail.

(Facultatif) Redémarrez votre application rapidement(Optional) Restart your app quickly

Cliquez sur le redémarrer redémarrer une application bouton dans la barre d’outils déboguer (Ctrl + MAJ + F5).Click the Restart Restart App button in the Debug Toolbar (Ctrl + Shift + F5).

Quand vous appuyez sur redémarrer, il fait gagner du temps par rapport à l’arrêt de l’application et de redémarrer le débogueur.When you press Restart, it saves time versus stopping the app and restarting the debugger. Le débogueur s’arrête sur le premier point d’arrêt est atteint par l’exécution de code.The debugger pauses at the first breakpoint that is hit by executing code.

Le débogueur s’arrête à nouveau sur le point d’arrêt que vous avez défini dans le MainWindow constructeur.The debugger stops again at the breakpoint you set, in the MainWindow constructor.

Principalement, nous utilisons ici, des raccourcis clavier, car c’est un bon moyen pour obtenir rapidement à l’exécution de votre application dans le débogueur (commandes équivalentes tels que menu commandes sont affichées entre parenthèses).Mostly, we use the keyboard shortcuts here, because it's a good way to get fast at executing your app in the debugger (equivalent commands such as menu commands are shown in parentheses).

  1. Appuyez sur F11 (Déboguer > pas à pas détaillé) à deux reprises pour avancer l’exécution de l’application vers le InitializeComponent() (fonction).Press F11 (Debug > Step Into) twice to advance the execution of the app to the InitializeComponent() function.

    Utilisez F11 pour le code pas à pas détailléUse F11 to Step Into code

    F11 est la commande pas à pas détaillé et elle exécute l'application une instruction à la fois.F11 is the Step Into command and advances the app execution one statement at a time. F11 est une bonne solution pour examiner le flux d’exécution en détails.F11 is a good way to examine the execution flow in the most detail. (Pour déplacer plus rapidement le code, nous vous montrons d’autres options également.) Par défaut, le débogueur ignore le code non-utilisateur (si vous souhaitez plus d’informations, consultez uniquement mon Code).(To move faster through code, we show you some other options also.) By default, the debugger skips over non-user code (if you want more details, see Just My Code).

    Note

    Dans le code managé, vous verrez une boîte de dialogue vous demandant si vous souhaitez être averti quand vous effectuez automatiquement un pas à pas dans les propriétés et les opérateurs (le comportement par défaut).In managed code, you will see a dialog box asking if you want to be notified when you automatically step over properties and operators (default behavior). Si vous voulez changer cette option plus tard, désactivez Pas à pas principal dans les propriétés et les opérateurs dans le menu Outils > Options sous Débogage.If you want to change the setting later, disable Step over properties and operators setting in the Tools > Options menu under Debugging.

  2. Appuyez sur F10 (Déboguer > pas à pas principal) plusieurs fois jusqu'à ce que le débogueur s’arrête sur la première ligne de code dans le OnApplicationStartup Gestionnaire d’événements.Press F10 (Debug > Step Over) a few times until the debugger stops on the first line of code in the OnApplicationStartup event handler.

    Utiliser la touche F10 pour le code pas à pas principalUse F10 to Step Over code

    F10 fait avancer le débogueur sans entrer dans les fonctions ou méthodes dans votre code d’application (le code s’exécute toujours).F10 advances the debugger without stepping into functions or methods in your app code (the code still executes). En appuyant sur F10 le InitializeComponent appel de méthode (au lieu de la touche F11), nous avons ignoré sur le code d’implémentation pour InitializeComponent (qui nous n’allons pas maintenant intéressés par exemple).By pressing F10 on the InitializeComponent method call (instead of F11), we skipped over the implementation code for InitializeComponent (which maybe we're not interested in right now).

Pas à pas détaillé d’une propriétéStep into a property

  1. Avec le débogueur suspendu sur cette ligne de code :With the debugger paused on this line of code:

    mainWindow.Photos.Path = Environment.CurrentDirectory + "\\images";
    

    Avec le bouton droit sur la ligne de code et choisissez détaillé spécifique, puis SDKSamples.ImageSample.PhotoCollection.Path.setRight-click on the line of code and choose Step Into Specific, then SDKSamples.ImageSample.PhotoCollection.Path.set

    Utilisez le pas à pas détaillé spécifique fonctionnalitéUse the Step into Specific feature

    Comme mentionné précédemment, par défaut, le débogueur ignore les propriétés et les champs managés, mais la commande Pas à pas détaillé spécifique vous permet de substituer ce comportement.As mentioned earlier, by default the debugger skips over managed properties and fields, but the Step Into Specific command allows you to override this behavior. Pour l’instant, nous souhaitons rechercher que se passe-t-il lorsque le Path.set exécutions de méthode setter de propriété.For now, we want to look what happens when the Path.set property setter runs. Détaillé spécifique obtient nous le Path.set ici le code.Step Into Specific gets us to the Path.set code here.

    résultat de pas à pas détaillé spécifiqueresult of Step into Specific

    Le Update méthode dans ce code semble pourrait être intéressant, c’est le cas permet d’utiliser le débogueur pour examiner ce code, communiquez.The Update method in this code looks like it could be interesting, so lets use the debugger to examine that code up close.

  2. Placez le curseur sur le Update méthode jusqu'à ce que le vert exécuter jusqu’au clic bouton exécuter jusqu’au clic apparaît à gauche.Hover over the Update method until the green Run to Click button Run to Click appears on the left.

    Utiliser l’exécution sur clic fonctionnalitéUse the Run to Click feature

    Note

    Le exécuter jusqu’au clic bouton est une nouveauté de Visual Studio 2017Visual Studio 2017.The Run to Click button is new in Visual Studio 2017Visual Studio 2017. Si vous ne voyez pas le bouton fléché vert, utilisez F11 dans cet exemple à la place pour faire avancer le débogueur.If you don't see the green arrow button, use F11 in this example instead to advance the debugger.

  3. Cliquez sur le exécuter jusqu’au clic bouton exécuter jusqu’au clic.Click the Run to Click button Run to Click.

    L’utilisation de ce bouton est similaire à la définition d’un point d’arrêt temporaire.Using this button is similar to setting a temporary breakpoint. Exécuter jusqu’au clic est pratique pour la navigation rapidement dans une zone visible du code d’application (vous pouvez cliquer dans n’importe quel fichier ouvrir).Run to Click is handy for getting around quickly within a visible region of app code (you can click in any open file).

    Le débogueur avance jusqu'à le Update implémentation de la méthode.The debugger advances to the Update method implementation.

  4. Appuyez sur F11 à l’étape dans le Update (méthode).Press F11 to step into the Update method.

    Résultat de l’exécution pas à pas dans la méthode de mise à jourResult of stepping into the Update method

    Ici, nous trouver du code qui vous intéresse ; l’application obtient tous les. jpg fichiers résidant dans un répertoire particulier, puis en créant un objet Photo pour chaque fichier.Here, we find some more code that looks interesting; the app is getting all .jpg files residing in a particular directory, and then creating a Photo object for each file. Ce code nous donne une bonne occasion pour commencer à examiner l’état de votre application (variables) avec le débogueur.This code gives us a good opportunity to start inspecting your app state (variables) with the debugger. Nous allons effectuer que dans les sections suivantes de ce didacticiel.We will do that in the next sections of this tutorial.

    Les fonctionnalités qui vous permettent d’inspecter les variables sont une des fonctionnalités plus utiles du débogueur, et il existe différentes manières de procéder.Features that allow you to inspect variables are one of the most useful features of the debugger, and there are different ways to do it. Souvent, lorsque vous essayez de déboguer un problème, vous essayez de déterminer si les variables sont stocker les valeurs que vous attendez d’avoir à un moment donné.Often, when you try to debug an issue, you are attempting to find out whether variables are storing the values that you expect them to have at a particular time.

Examiner la pile des appelsExamine the call stack

Pendant la suspension dans le Update (méthode), cliquez sur le pile des appels fenêtre, qui est par défaut ouvert dans le volet inférieur droit.While paused in the Update method, click the Call Stack window, which is by default open in the lower right pane.

Examiner la pile des appelsExamine the call stack

Le pile des appels fenêtre indique l’ordre dans lequel les méthodes et les fonctions sont bien appelées.The Call Stack window shows the order in which methods and functions are getting called. La première ligne affiche la fonction active (la Update méthode dans l’application de la visite guidée).The top line shows the current function (the Update method in the tour app). La deuxième ligne montre que Update a été appelée à partir de la Path.set propriété et ainsi de suite.The second line shows that Update was called from the Path.set property, and so on.

Note

Le pile des appels est identique à la perspective de débogage dans certains IDE comme Eclipse.The Call Stack window is similar to the Debug perspective in some IDEs like Eclipse.

La pile des appels est un bon moyen d’examiner et de comprendre le flux d’exécution d’une application.The call stack is a good way to examine and understand the execution flow of an app.

Vous pouvez double-cliquer sur une ligne de code revenir sur ce code source et qui modifie également la portée actuelle est inspectée par le débogueur.You can double-click a line of code to go look at that source code and that also changes the current scope being inspected by the debugger. Cette action n’avance pas le débogueur.This action does not advance the debugger.

Vous pouvez également utiliser les menus contextuels à partir de la pile des appels fenêtre pour faire autre chose.You can also use right-click menus from the Call Stack window to do other things. Par exemple, vous pouvez insérer des points d’arrêt dans les fonctions spécifiées, faire avancer le débogueur à l’aide de exécuter jusqu’au curseuret accédez à examiner le code source.For example, you can insert breakpoints into specified functions, advance the debugger using Run to Cursor, and go examine source code. Pour plus d’informations, consultez Comment : examiner la pile des appels.For more information, see How to: Examine the Call Stack.

Pas à pas sortantStep out

Supposons que vous avez terminé examinant le Update méthode dans Data.cs et que vous souhaitez tirer parti de la fonction, mais restent dans le débogueur.Let's say that you are done examining the Update method in Data.cs, and you want to get out of the function but stay in the debugger. Vous pouvez le faire à l’aide de la pas à pas sortant commande.You can do this using the Step Out command.

  1. Appuyez sur MAJ + F11 (ou Déboguer > pas à pas sortant).Press Shift + F11 (or Debug > Step Out).

    Cette commande reprend l’exécution d’application (et avance le débogueur) jusqu'à ce que retourne la fonction active.This command resumes app execution (and advances the debugger) until the current function returns.

    Vous devez être revenu à la Update appel de méthode dans Data.cs.You should be back in the Update method call in Data.cs.

  2. Appuyez sur MAJ + F11 à nouveau, et le débogueur remonte la pile des appels vers le OnApplicationStartup Gestionnaire d’événements.Press Shift + F11 again, and the debugger goes up the call stack back to the OnApplicationStartup event handler.

Exécuter jusqu'au curseurRun to cursor

  1. Choisissez le arrêter le débogage bouton rouge arrêter le débogage ou MAJ + F5 .Choose the Stop Debugging red button Stop Debugging or Shift + F5.

  2. Dans le Update méthode dans Data.cs, avec le bouton droit le Add appel de méthode et choisissez exécuter jusqu’au curseur.In the Update method in Data.cs, right-click the Add method call and choose Run to Cursor. Cette commande démarre le débogage et définit un point d’arrêt temporaire sur la ligne de code active.This command starts debugging and sets a temporary breakpoint on the current line of code.

    Utiliser l’exécution de la fonctionnalité de curseurUse the Run to Cursor feature

    Vous devez être suspendu sur le point d’arrêt dans MainWindow (puisque c’est le premier point d’arrêt vous définissez).You should be paused on the breakpoint in MainWindow (since that is the first breakpoint you set).

  3. Appuyez sur F5 pour accéder à la Add méthode où vous avez sélectionné exécuter jusqu’au curseur.Press F5 to advance to the Add method where you selected Run to Cursor.

    Cette commande est utile lorsque vous modifiez du code et que vous souhaitez définir un point d’arrêt temporaire rapidement et de démarrer le débogueur.This command is useful when you are editing code and want to quickly set a temporary breakpoint and start the debugger.

Modifier le flux d’exécutionChange the execution flow

  1. Avec le débogueur en pause sur le Add appel de méthode, utilisez la souris pour saisir la flèche jaune (le pointeur d’exécution) sur la gauche et déplacez la flèche jaune une ligne à la foreach boucle.With the debugger paused on the Add method call, use the mouse to grab the yellow arrow (the execution pointer) on the left and move the yellow arrow up one line to the foreach loop.

    Déplacer le pointeur d’exécutionMove the execution pointer

    En modifiant le flux d’exécution, vous pouvez effectuer des opérations telles que les chemins d’exécution de code différent de test ou de réexécuter le code sans avoir à redémarrer le débogueur.By changing the execution flow, you can do things like test different code execution paths or rerun code without restarting the debugger.

  2. Maintenant, appuyez sur F5.Now, press F5.

    Vous pouvez voir les images ajoutées à la fenêtre d’application.You can see the images added to the app window. Étant donné que vous exécutez à nouveau le code dans le foreach boucle, certaines images ont été ajoutées à deux reprises !Because you are rerunning code in the foreach loop, some of the images have been added twice!

    Avertissement

    Souvent, vous devez être prudent avec cette fonctionnalité, et un avertissement s’affiche dans l’info-bulle.Often you need to be careful with this feature, and you see a warning in the tooltip. Vous pouvez voir les autres avertissements, trop.You may see other warnings, too. Déplacer le pointeur ne peut pas rétablir votre application à un état antérieur de l’application.Moving the pointer cannot revert your application to an earlier app state.

Inspecter des variables avec des bulles d’informationsInspect variables with data tips

  1. Ouvrez Data.cs dans l’application de démonstration de visionneuse de photos, cliquez sur le private void Update déclaration de fonction et choisissez exécuter jusqu’au curseur (arrêter tout d’abord l’application si elle est déjà en cours d’exécution).Open Data.cs in the Photo Viewer Demo app, right-click the private void Update function declaration and choose Run to Cursor (stop the app first if it is already running).

    Cela va suspendre l’application avec le débogueur attaché.This will pause the app with the debugger attached. Cela nous permet d’examiner son état.This allows us to examine its state.

  2. Placez le curseur sur le Add méthode appeler et cliquez sur le exécuter jusqu’au clic bouton exécuter jusqu’au clic.Hover over the Add method call and click the Run to Click button Run to Click.

  3. Maintenant, placez le curseur sur l’objet de fichier (f) et que sa valeur de propriété par défaut, le nom de fichier 031. jpg du marché.Now, hover over the File object (f) and you see its default property value, the file name market 031.jpg.

    Afficher une bulleView a data tip

  4. Développez l’objet pour afficher ses propriétés, telles que le FullPath propriété.Expand the object to see all its properties, such as the FullPath property.

    Souvent, lors du débogage, vous souhaitez un moyen rapide de vérifier les valeurs de propriété sur les objets et les conseils de données constituent un bon moyen de le faire.Often, when debugging, you want a quick way to check property values on objects, and the data tips are a good way to do it.

    Conseil

    Dans les langues prises en charge de plus, vous pouvez modifier le code au milieu d’une session de débogueur si vous trouvez quelque chose que vous souhaitez modifier.In most supported languages, you can edit code in the middle of a debugger session if you find something you want to change. Pour plus d’informations, consultez Modifier & Continuer.For more info, see Edit and Continue. Pour utiliser cette fonctionnalité dans cette application, toutefois, nous serait devons d’abord mettre à jour la version du .NET Framework.To use that feature in this app, however, we would first need to update the app's version of the .NET Framework.

Inspecter des variables avec les fenêtres automatique et variables localesInspect variables with the Autos and Locals windows

  1. Examinez le automatique fenêtre en bas de l’éditeur de code.Look at the Autos window at the bottom of the code editor.

    Inspecter des variables dans la fenêtre automatiqueInspect variables in the Autos Window

    Dans le automatique fenêtre, vous voyez des variables et leur valeur actuelle.In the Autos window, you see variables and their current value. Le automatique fenêtre affiche toutes les variables utilisées dans la ligne actuelle ou de la ligne précédente (en C++, la fenêtre affiche les variables dans les trois lignes de code précédents.The Autos window shows all variables used on the current line or the preceding line (In C++, the window shows variables in the preceding three lines of code. Consultez la documentation pour le comportement spécifique à la langue).Check documentation for language-specific behavior).

    Note

    Dans JavaScript, le variables locales fenêtre est pris en charge, mais pas le automatique fenêtre.In JavaScript, the Locals window is supported but not the Autos window.

  2. Ensuite, examinons le variables locales fenêtre.Next, look at the Locals window.

    Le variables locales fenêtre vous montre les variables qui se trouvent dans la portée actuelle.The Locals window shows you the variables that are in the current scope.

    Inspecter des variables dans la fenêtre variables localesInspect variables in the Locals Window

    Actuellement, le this objet et l’objet de fichier (f) se trouvent dans la portée actuelle.Currently, the this object and the File object (f) are in the current scope. Pour plus d’informations, consultez inspecter des Variables dans le Windows de variables locales et automatique.For more info, see Inspect Variables in the Autos and Locals Windows.

Définir un espionSet a watch

  1. Dans la fenêtre d’éditeur de code principal, cliquez sur l’objet de fichier (f) et choisissez ajouter un espion.In the main code editor window, right-click the File object (f) and choose Add Watch.

    Vous pouvez utiliser un espion fenêtre pour spécifier une variable (ou une expression) que vous souhaitez garder un œil sur.You can use a Watch window to specify a variable (or an expression) that you want to keep an eye on.

    À présent, vous avez un espion défini sur le File objet et vous pouvez voir sa valeur changent à mesure que vous parcourez le débogueur.Now, you have a watch set on the File object, and you can see its value change as you move through the debugger. Contrairement à d’autres fenêtres de variables, le espion fenêtre affiche toujours les variables que vous surveillez (elles sont grisées lorsque hors de portée).Unlike the other variable windows, the Watch window always shows the variables that you are watching (they're grayed out when out of scope).

  2. Sur le Add (méthode), cliquez sur le vert exécuter jusqu’au clic bouton Nouveau (ou appuyez sur F11 à plusieurs fois) à travers le foreach boucle.On the Add method, click the green Run to Click button again (or press F11 a few times) to advance through the foreach loop.

    Définir un espion sur une variableSet a watch on a variable

    Vous pouvez également voir la première image sont ajoutés à la fenêtre principale de l’exécution exemple d’application, mais cela se produit sur un thread d’application différents, les images ne sont pas encore forcément visibles.You might also see the first picture get added to the main window of the running sample app, but this happens on a different app thread, so images may not be visible yet.

    Pour plus d’informations, consultez définir un espion à l’aide d’espion et Espion express WindowsFor more info, see Set a Watch using the Watch and QuickWatch Windows

Examiner une exceptionExamine an exception

  1. Dans la fenêtre d’application en cours d’exécution, supprimez le texte dans le chemin d’accès zone d’entrée, puis sélectionnez le modification bouton.In the running app window, delete the text in the Path input box and select the Change button.

    Lever une exception levéeCause an exception to be thrown

    L’application lève une exception, et le débogueur vous amène à la ligne de code qui a levé l’exception.The app throws an exception, and the debugger takes you to the line of code that threw the exception.

    Assistance d’exceptionException Helper

    Ici, le assistance d’Exception vous montre une System.ArgumentException et un message d’erreur indiquant que le chemin d’accès n’est pas une forme conforme.Here, the Exception Helper shows you a System.ArgumentException and an error message that says that the path is not a legal form. Par conséquent, nous savons que l’erreur s’est produite sur un argument de méthode ou fonction.So, we know the error occurred on a method or function argument.

    Dans cet exemple, le DirectoryInfo appelle a donné l’erreur sur la chaîne vide, stockée dans le value variable.In this example, the DirectoryInfo call gave the error on the empty string stored in the value variable. (Placez le curseur sur value pour afficher la chaîne vide.)(Hover over value to see the empty string.)

    L’assistance de l’Exception est une fonctionnalité intéressante qui peut vous aider à déboguer les erreurs.The Exception Helper is a great feature that can help you debug errors. Vous pouvez également effectuer des opérations comme vue Détails de l’erreur et ajouter un espion à partir de l’assistance de l’Exception.You can also do things like view error details and add a watch from the Exception Helper. Ou, si nécessaire, vous pouvez modifier les conditions pour lever l’exception particulière.Or, if needed, you can change conditions for throwing the particular exception.

    Note

    L’assistance d’Exception remplace l’Assistant Exception dans Visual Studio 2017Visual Studio 2017.The Exception Helper replaces the Exception Assistant in Visual Studio 2017Visual Studio 2017.

  2. Développez le paramètres d’Exception nœud pour afficher davantage d’options sur la gestion de ce type d’exception, mais vous n’avez pas besoin de modifier quoi que ce soit pour cette visite guidée !Expand the Exception Settings node to see more options on how to handle this exception type, but you don't need to change anything for this tour!

  3. Appuyez sur F5 pour continuer l’exécution de l’application.Press F5 to continue the app.

Pour en savoir plus sur les fonctionnalités du débogueur, consultez débogueur trucs et astuces.To learn more about the features of the debugger, see Debugger Tips and Tricks.

Étapes suivantesNext steps

Dans ce didacticiel, vous avez appris comment démarrer le débogueur, parcourir le code et inspecter les variables.In this tutorial, you've learned how to start the debugger, step through code, and inspect variables. Voulez-vous obtenir une vue d’ensemble des fonctionnalités de débogueur ainsi que des liens vers d’autres informations.You may want to get a high-level look at debugger features along with links to more information.