Démarrage rapide : Déboguer ASP.NET avec le débogueur Visual StudioQuickstart: Debug ASP.NET with the Visual Studio debugger

Le débogueur Visual Studio fournit de nombreuses fonctionnalités puissantes pour vous aider à déboguer vos applications.The Visual Studio debugger provides many powerful features to help you debug your apps. Cette rubrique vous offre un moyen rapide de vous familiariser avec quelques-unes des fonctionnalités de base.This topic provides a quick way to learn some of the basic features.

Créer un nouveau projetCreate a new project

  1. Dans Visual Studio, sélectionnez Fichier > Nouveau projet.In Visual Studio, choose File > New Project.

  2. Sous Visual C#, choisissez Web, puis, dans le volet central, choisissez Application Web ASP.NET Core.Under Visual C#, choose Web, and then in the middle pane choose ASP.NET Core Web Application.

  3. Tapez un nom tel que MyDbgApp et cliquez sur OK.Type a name like MyDbgApp and click OK.

  4. Dans la boîte de dialogue qui s’affiche, choisissez Web Application dans le volet central, puis cliquez sur OK.In the dialog box that appears, choose Web Application in the middle pane, and then click OK.

    Si vous ne voyez pas le Web Application modèle de projet, cliquez sur le ouvrir Visual Studio Installer lien dans le volet gauche de la nouveau projet boîte de dialogue.If you don't see the Web Application project template, click the Open Visual Studio Installer link in the left pane of the New Project dialog box. Visual Studio Installer est lancé.The Visual Studio Installer launches. Choisissez la charge de travail Développement web et ASP.NET, puis Modifier.Choose the ASP.NET and web development workload, then choose Modify.

    Choisissez une application Web

    Visual Studio crée le projet.Visual Studio creates the project.

  5. Dans l’Explorateur de solutions, ouvrez About.cshtml.cs (sous pages/About.cshtml) et remplacez le code suivantIn Solution Explorer, open About.cshtml.cs (under Pages/About.cshtml) and replace the following code

    public void OnGet()
    {
        Message = "Your application description page.";
    }
    

    par le code suivant :with this code:

    public void OnGet()
    {
        LinkedList<int> result = doWork();
        Message = "Result of work: " + result.First.Value + ", " + result.First.Value;
    }
    
    private static LinkedList<int> doWork()
    {
        LinkedList<int> c1 = new LinkedList<int>();
    
        c1.AddLast(10);
        c1.AddLast(20);
    
        LinkedList<int> c2 = new LinkedList<int>(c1);
    
        return c2;
    
    }
    

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

Un point d’arrêt est un marqueur qui indique où Visual Studio doit s’interrompre votre en cours d’exécution de code afin que vous puissiez examiner les valeurs des variables, ou le comportement de la mémoire, ou s’il faut ou non une branche de code est bien exécutée.A breakpoint is a marker that 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. C’est la fonctionnalité élémentaire lors du débogage.It is the most basic feature in debugging.

  1. Pour définir le point d’arrêt, cliquez dans la marge à gauche de la doWork (fonction) (ou sélectionnez la ligne de code et appuyez sur F9).To set the breakpoint, click in the gutter to the left of the doWork function (or select the line of code and press F9).

    Définir un point d’arrêt

    Le point d’arrêt est défini à gauche de l’accolade ouvrante ({).The breakpoint is set to the left of the opening brace ({).

  2. Appuyez maintenant sur F5 (ou choisissez Déboguer > Démarrer le débogage).Now press F5 (or choose Debug > Start Debugging).

  3. Lorsque la page web chargée, cliquez sur le sur lien en haut de la page web.When the web page loads, click the About link at the top of the web page.

    Les temps de pause de débogueur où vous avez défini le point d’arrêt.The debugger pauses where you set the breakpoint. L’instruction où l’exécution du débogueur et l’application est en pause est indiquée par la flèche jaune.The statement where the debugger and app execution is paused is indicated by the yellow arrow. La ligne de l’accolade ouvrante ({) après le doWork déclaration de fonction n’a pas encore exécutée.The line with the opening brace ({) after the doWork function declaration has not yet executed.

    Atteindre un point d’arrêt

    Tip

    Si vous disposez d’un point d’arrêt dans une boucle ou une récursivité ou si vous avez de nombreux points d’arrêt que vous passez fréquemment via, utilisez un point d’arrêt conditionnel pour vous assurer que votre code est interrompue uniquement lorsque certaines conditions sont remplies.If you have a breakpoint in a loop or recursion, or if you have many breakpoints that you frequently step through, use a conditional breakpoint to make sure that your code is suspended ONLY when specific conditions are met. Cela fait gagner du temps et peut également rendre plus facile à déboguer les problèmes qui sont difficiles à reproduire.This saves time and can also make it easier to debug issues that are hard to reproduce.

Il existe différentes commandes pour indiquer au débogueur de continuer.There are different commands to instruct the debugger to continue. Nous montrons une commande de navigation de code utiles est une nouveauté de Visual Studio 2017.We show a useful code navigation command that is new in Visual Studio 2017.

Pendant la suspension sur le point d’arrêt, placez le curseur sur l’instruction return c2 jusqu'à ce que le vert exécuter jusqu’au clic bouton exécuter jusqu’au clic s’affiche, puis appuyez sur la exécuter jusqu’au clic bouton.While paused at the breakpoint, hover over the statement return c2 until the green Run to click button Run to Click appears, and then press the Run to click button.

Exécuter jusqu’au clic

L’application continue l’exécution et s’arrête à la ligne de code où vous avez cliqué sur le bouton.The app continues execution, and pauses on the line of code where you clicked the button.

Les commandes de clavier courantes utilisées pour parcourir le code inclure F10 et F11.Common keyboard commands used to step through code include F10 and F11. Pour plus d’instructions détaillées, consultez le Guide du débutant.For more in-depth instructions, see the Beginner's Guide.

Inspecter des variables dans un datatipInspect variables in a datatip

  1. Dans la ligne actuelle de code (indiquée par le pointeur d’exécution jaune), placez le curseur sur la c2 objet avec la souris pour afficher un datatip.In the current line of code (marked by the yellow execution pointer), hover over the c2 object with your mouse to show a datatip.

    Afficher un datatip

    Le datatip vous indique la valeur actuelle de la c2 variable et vous permet d’inspecter ses propriétés.The datatip shows you the current value of the c2 variable and allows you to inspect its properties. Lors du débogage, si vous voyez une valeur que vous ne pensez pas, vous avez probablement un bogue dans les lignes précédentes ou d’appel de code.When debugging, if you see a value you don't expect, you probably have a bug in the preceding or calling lines of code.

  2. Développez le datatip pour examiner les valeurs de propriété actuelles de la c2 objet.Expand the datatip to look at the current property values of the c2 object.

  3. Si vous souhaitez épingler un datatip afin que vous pouvez continuer à afficher la valeur de c2 pendant que vous exécutez du code, cliquez sur l’icône d’épingle petit.If you want to pin the datatip so that you can continue to see the value of c2 while you execute code, click the small pin icon. (Vous pouvez déplacer le datatip épinglé à un emplacement unique et pratique).(You can move the pinned datatip to a convenient location.)

Modifier le code et continuer le débogageEdit code and continue debugging

Si vous identifiez une modification que vous souhaitez tester dans votre code au milieu d’une session de débogage, vous pouvez le faire, trop.If you identify a change that you want to test in your code while in the middle of a debugging session, you can do that, too.

  1. Dans le OnGet (méthode), cliquez sur la deuxième instance de result.First.Value et modifiez result.First.Value à result.Last.Value.In the OnGet method, click the second instance of result.First.Value and change result.First.Value to result.Last.Value.

  2. Appuyez sur F10 (ou Déboguer > pas à pas principal) plusieurs fois pour faire avancer le débogueur et exécuter le code modifié.Press F10 (or Debug > Step Over) a few times to advance the debugger and execute the edited code.

    Modifier & ContinuerEdit and continue

    F10 avance l’instruction du débogueur une à une heure, mais les étapes sur les fonctions au lieu de pas à pas détaillé dans les (le code que vous ignorez encore s’exécute).F10 advances the debugger one statement at a time, but steps over functions instead of stepping into them (the code that you skip still executes).

Pour plus d’informations sur l’utilisation de modifier et continuer et sur les limitations de fonctionnalités, consultez Modifier & Continuer.For more information on using edit-and-continue and on feature limitations, see Edit and Continue.

É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.