Självstudie: Felsöka ett .NET-konsolprogram med Visual Studio

I den här självstudien beskrivs de felsökningsverktyg som är tillgängliga i Visual Studio.

Viktigt!

Alla kortkommandon baseras på standardinställningarna från Visual Studio. Kortkommandona kan variera, mer information finns i Kortkommandon i Visual Studio.

Förutsättningar

Använda konfiguration av felsökningsversion

Felsökning och lansering är Visual Studio inbyggda byggkonfigurationer. Du använder konfigurationen Felsökningsversion för felsökning och versionskonfigurationen för den slutliga versionsdistributionen.

I felsökningskonfigurationen kompileras ett program med fullständig symbolisk felsökningsinformation och ingen optimering. Optimeringen komplicerar felsökningen eftersom relationen mellan källkod och genererade instruktioner är mer komplex. Versionskonfigurationen för ett program har ingen symbolisk felsökningsinformation och är helt optimerad.

Visual Studio använder som standard konfigurationen för felsökningsversion, så du behöver inte ändra den innan du felsöker.

  1. Starta Visual Studio.

  2. Öppna projektet som du skapade i Skapa ett .NET-konsolprogram med hjälp av Visual Studio.

    Den aktuella byggkonfigurationen visas i verktygsfältet. Följande verktygsfältsbild visar att Visual Studio är konfigurerat för att kompilera felsökningsversionen av appen:

    Visual Studio toolbar with debug highlighted

Ange en brytpunkt

En brytpunkt avbryter tillfälligt körningen av programmet innan raden med brytpunkten körs.

  1. Ange en brytpunkt på raden som visar namn, datum och tid genom att klicka i vänstermarginalen i kodfönstret på den raden. Vänstermarginalen är till vänster om radnumren. Andra sätt att ange en brytpunkt är genom att placera markören i kodraden och sedan trycka på F9 eller välja Växla brytpunktför felsökning>från menyraden.

    Som följande bild visar anger Visual Studio den rad där brytpunkten anges genom att markera den och visa en röd punkt i vänstermarginalen.

    Visual Studio Program window with breakpoint set

  2. Tryck på F5 för att köra programmet i felsökningsläge. Ett annat sätt att börja felsöka är genom att välja Felsöka>Starta felsökning från menyn.

  3. Ange en sträng i konsolfönstret när programmet frågar efter ett namn och tryck sedan på Retur.

  4. Programkörningen stoppas när den når brytpunkten och innan Console.WriteLine metoden körs. Fönstret Lokalt visar värdena för variabler som definieras i metoden som körs just nu.

    Screenshot of a breakpoint in Visual Studio

Använd fönstret Omedelbart

Med fönstret Omedelbar kan du interagera med det program som du felsöker. Du kan interaktivt ändra värdet för variabler för att se hur det påverkar ditt program.

  1. Om fönstret Omedelbart inte visas visar du det genom att välja Felsöka>Windows>Immediate.

  2. Ange name = "Gracie" i fönstret Omedelbart och tryck på Retur .

  3. Ange currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() i fönstret Omedelbart och tryck på Retur .

    Fönstret Omedelbar visar värdet för strängvariabeln och egenskaperna för DateTime värdet. Dessutom uppdateras värdena för variablerna i fönstret Lokal .

    Locals and Immediate Windows in Visual Studio 2019

  4. Tryck på F5 för att fortsätta programkörningen. Ett annat sätt att fortsätta är genom att välja Felsöka>Fortsätt från menyn.

    De värden som visas i konsolfönstret motsvarar de ändringar du gjorde i fönstret Omedelbart .

    Console window showing the entered values

  5. Tryck på valfri tangent för att avsluta programmet och sluta felsöka.

Ange en villkorsstyrd brytpunkt

Programmet visar strängen som användaren anger. Vad händer om användaren inte anger något? Du kan testa detta med en användbar felsökningsfunktion som kallas villkorlig brytpunkt.

  1. Högerklicka på den röda punkt som representerar brytpunkten. I snabbmenyn väljer du Villkor för att öppna dialogrutan Brytpunktsinställningar . Markera rutan för Villkor om den inte redan är markerad.

    Editor showing breakpoint settings panel - C#

  2. För villkorsuttrycket anger du följande kod i fältet som visar exempelkod som testar om x är 5.

    string.IsNullOrEmpty(name)
    
    String.IsNullOrEmpty(name)
    

    Varje gång brytpunkten slås anropar String.IsNullOrEmpty(name) felsökningsprogrammet metoden och den bryts endast på den här raden om metodanropet returnerar true.

    I stället för ett villkorsuttryck kan du ange ett antal träffar, vilket avbryter programkörningen innan en instruktion körs ett angivet antal gånger. Ett annat alternativ är att ange ett filtervillkor som avbryter programkörningen baserat på sådana attribut som trådidentifierare, processnamn eller trådnamn.

  3. Välj Stäng för att stänga dialogrutan.

  4. Starta programmet med felsökning genom att trycka på F5.

  5. Tryck på Retur i konsolfönstret när du uppmanas att ange ditt namn.

  6. Eftersom villkoret du angav (name är antingen null eller String.Empty) har uppfyllts stoppas programkörningen när den når brytpunkten och innan Console.WriteLine metoden körs.

  7. Välj fönstret Lokal , som visar värdena för variabler som är lokala för den metod som körs just nu. I det här fallet Main är den metod som körs för närvarande. Observera att värdet för variabeln name är "", eller String.Empty.

  8. Bekräfta att värdet är en tom sträng genom att ange följande instruktion i fönstret Omedelbart och trycka på Retur. Resultatet är true.

    ? name == String.Empty
    
    ? String.IsNullOrEmpty(name)
    

    Frågetecknet dirigerar det omedelbara fönstret för att utvärdera ett uttryck.

    Immediate Window returning a value of true after the statement is executed - C#

  9. Tryck på F5 för att fortsätta programkörningen.

  10. Tryck på valfri tangent för att stänga konsolfönstret och sluta felsöka.

  11. Rensa brytpunkten genom att klicka på punkten i kodfönstrets vänstermarginal. Andra sätt att rensa en brytpunkt är genom att trycka på F9 eller välja Växla brytpunktför felsökning > medan kodraden är markerad.

Stega igenom ett program

Med Visual Studio kan du också stega rad för rad genom ett program och övervaka dess körning. Vanligtvis anger du en brytpunkt och följer programflödet genom en liten del av programkoden. Eftersom det här programmet är litet kan du gå igenom hela programmet.

  1. Välj Felsöka>steg till. Ett annat sätt att felsöka en instruktion i taget är genom att trycka på F11.

    Visual Studio markerar och visar en pil bredvid nästa körningsrad.

    C#

    Visual Studio step into method - C#

    Visual Basic

    Visual Studio step into method - Visual Basic

    Nu visar fönstret Locals att matrisen args är tom och namecurrentDate har standardvärden. Dessutom har Visual Studio öppnat ett tomt konsolfönster.

  2. Tryck på F11. Visual Studio visar nu nästa körningsrad. Fönstret Locals är oförändrat och konsolfönstret förblir tomt.

    C#

    Visual Studio step in method source - C#

    Visual Basic

    Visual Studio step into method source - Visual Basic

  3. Tryck på F11. Visual Studio visar instruktionen som innehåller variabeltilldelningen name . Fönstret Locals visar att name är null, och konsolfönstret visar strängen "Vad är ditt namn?".

  4. Svara på uppmaningen genom att ange en sträng i konsolfönstret och trycka på Retur. Konsolen svarar inte och strängen som du angav visas inte i konsolfönstret, men Console.ReadLine metoden samlar ändå in dina indata.

  5. Tryck på F11. Visual Studio visar instruktionen som innehåller variabeltilldelningen currentDate . Fönstret Locals visar det värde som returneras av anropet till Console.ReadLine metoden. Konsolfönstret visar även strängen som du angav i kommandotolken.

  6. Tryck på F11. Fönstret Lokala värden visar värdet för variabeln currentDate efter tilldelningen DateTime.Now från egenskapen. Konsolfönstret är oförändrat.

  7. Tryck på F11. Visual Studio anropar Console.WriteLine(String, Object, Object) metoden. Konsolfönstret visar den formaterade strängen.

  8. Välj Felsöka>steg ut. Ett annat sätt att stoppa stegvis körning är genom att trycka på Skift+F11.

    Konsolfönstret visar ett meddelande och väntar på att du ska trycka på en nyckel.

  9. Tryck på valfri tangent för att stänga konsolfönstret och sluta felsöka.

Använda Versionsversionskonfiguration

När du har testat felsökningsversionen av ditt program bör du också kompilera och testa versionsversionen. Versionsversionen innehåller kompilatoroptimeringar som ibland kan påverka beteendet för ett program negativt. Kompilatoroptimeringar som är utformade för att förbättra prestanda kan till exempel skapa konkurrensvillkor i flertrådade program.

Om du vill skapa och testa versionen av konsolprogrammet ändrar du byggkonfigurationen i verktygsfältet från Felsök till Version.

default Visual Studio toolbar with release highlighted

När du trycker på F5 eller väljer Skapa lösningmenyn Skapa kompilerar Visual Studio versionen av programmet. Du kan testa det på samma sätt som du gjorde felsökningsversionen.

Nästa steg

I den här självstudien använde du Felsökningsverktyg för Visual Studio. I nästa självstudie publicerar du en distributionsbar version av appen.

I den här självstudien beskrivs de felsökningsverktyg som är tillgängliga i Visual Studio.

Viktigt!

Alla kortkommandon baseras på standardinställningarna från Visual Studio. Kortkommandona kan variera, mer information finns i Kortkommandon i Visual Studio.

Förutsättningar

Använda konfiguration av felsökningsversion

Felsökning och lansering är Visual Studio inbyggda byggkonfigurationer. Du använder konfigurationen Felsökningsversion för felsökning och versionskonfigurationen för den slutliga versionsdistributionen.

I felsökningskonfigurationen kompileras ett program med fullständig symbolisk felsökningsinformation och ingen optimering. Optimeringen komplicerar felsökningen eftersom relationen mellan källkod och genererade instruktioner är mer komplex. Versionskonfigurationen för ett program har ingen symbolisk felsökningsinformation och är helt optimerad.

Visual Studio använder som standard konfigurationen för felsökningsversion, så du behöver inte ändra den innan du felsöker.

  1. Starta Visual Studio.

  2. Öppna projektet som du skapade i Skapa ett .NET-konsolprogram med hjälp av Visual Studio.

    Den aktuella byggkonfigurationen visas i verktygsfältet. Följande verktygsfältsbild visar att Visual Studio är konfigurerat för att kompilera felsökningsversionen av appen:

    Visual Studio toolbar with debug highlighted

Ange en brytpunkt

En brytpunkt avbryter tillfälligt körningen av programmet innan raden med brytpunkten körs.

  1. Ange en brytpunkt på raden som visar namn, datum och tid genom att klicka i vänstermarginalen i kodfönstret på den raden. Vänstermarginalen är till vänster om radnumren. Andra sätt att ange en brytpunkt är genom att placera markören i kodraden och sedan trycka på F9 eller välja Växla brytpunktför felsökning>från menyraden.

    Som följande bild visar anger Visual Studio den rad där brytpunkten anges genom att markera den och visa en röd punkt i vänstermarginalen.

    Visual Studio Program window with breakpoint set

  2. Tryck på F5 för att köra programmet i felsökningsläge. Ett annat sätt att börja felsöka är genom att välja Felsöka>Starta felsökning från menyn.

  3. Ange en sträng i konsolfönstret när programmet frågar efter ett namn och tryck sedan på Retur.

  4. Programkörningen stoppas när den når brytpunkten och innan Console.WriteLine metoden körs. Fönstret Lokalt visar värdena för variabler som definieras i metoden som körs just nu.

    Screenshot of a breakpoint in Visual Studio

Använd fönstret Omedelbart

Med fönstret Omedelbar kan du interagera med det program som du felsöker. Du kan interaktivt ändra värdet för variabler för att se hur det påverkar ditt program.

  1. Om fönstret Omedelbart inte visas visar du det genom att välja Felsöka>Windows>Immediate.

  2. Ange name = "Gracie" i fönstret Omedelbart och tryck på Retur .

  3. Ange currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() i fönstret Omedelbart och tryck på Retur .

    Fönstret Omedelbar visar värdet för strängvariabeln och egenskaperna för DateTime värdet. Dessutom uppdateras värdena för variablerna i fönstret Lokal .

    Locals and Immediate Windows in Visual Studio 2019

  4. Tryck på F5 för att fortsätta programkörningen. Ett annat sätt att fortsätta är genom att välja Felsöka>Fortsätt från menyn.

    De värden som visas i konsolfönstret motsvarar de ändringar du gjorde i fönstret Omedelbart .

    Console window showing the entered values

  5. Tryck på valfri tangent för att avsluta programmet och sluta felsöka.

Ange en villkorsstyrd brytpunkt

Programmet visar strängen som användaren anger. Vad händer om användaren inte anger något? Du kan testa detta med en användbar felsökningsfunktion som kallas villkorlig brytpunkt.

  1. Högerklicka på den röda punkt som representerar brytpunkten. I snabbmenyn väljer du Villkor för att öppna dialogrutan Brytpunktsinställningar . Markera rutan för Villkor om den inte redan är markerad.

    Editor showing breakpoint settings panel - C#

  2. För villkorsuttrycket anger du följande kod i fältet som visar exempelkod som testar om x är 5.

    string.IsNullOrEmpty(name)
    
    String.IsNullOrEmpty(name)
    

    Varje gång brytpunkten slås anropar String.IsNullOrEmpty(name) felsökningsprogrammet metoden och den bryts endast på den här raden om metodanropet returnerar true.

    I stället för ett villkorsuttryck kan du ange ett antal träffar, vilket avbryter programkörningen innan en instruktion körs ett angivet antal gånger. Ett annat alternativ är att ange ett filtervillkor som avbryter programkörningen baserat på sådana attribut som trådidentifierare, processnamn eller trådnamn.

  3. Välj Stäng för att stänga dialogrutan.

  4. Starta programmet med felsökning genom att trycka på F5.

  5. Tryck på Retur i konsolfönstret när du uppmanas att ange ditt namn.

  6. Eftersom villkoret du angav (name är antingen null eller String.Empty) har uppfyllts stoppas programkörningen när den når brytpunkten och innan Console.WriteLine metoden körs.

  7. Välj fönstret Lokal , som visar värdena för variabler som är lokala för den metod som körs just nu. I det här fallet Main är den metod som körs för närvarande. Observera att värdet för variabeln name är "", eller String.Empty.

  8. Bekräfta att värdet är en tom sträng genom att ange följande instruktion i fönstret Omedelbart och trycka på Retur. Resultatet är true.

    ? name == String.Empty
    
    ? String.IsNullOrEmpty(name)
    

    Frågetecknet dirigerar det omedelbara fönstret för att utvärdera ett uttryck.

    Immediate Window returning a value of true after the statement is executed - C#

  9. Tryck på F5 för att fortsätta programkörningen.

  10. Tryck på valfri tangent för att stänga konsolfönstret och sluta felsöka.

  11. Rensa brytpunkten genom att klicka på punkten i kodfönstrets vänstermarginal. Andra sätt att rensa en brytpunkt är genom att trycka på F9 eller välja Växla brytpunktför felsökning > medan kodraden är markerad.

Stega igenom ett program

Med Visual Studio kan du också stega rad för rad genom ett program och övervaka dess körning. Vanligtvis anger du en brytpunkt och följer programflödet genom en liten del av programkoden. Eftersom det här programmet är litet kan du gå igenom hela programmet.

  1. Välj Felsöka>steg till. Ett annat sätt att felsöka en instruktion i taget är genom att trycka på F11.

    Visual Studio markerar och visar en pil bredvid nästa körningsrad.

    C#

    Visual Studio step into method - C#

    Visual Basic

    Visual Studio step into method - Visual Basic

    Nu visar fönstret Locals att matrisen args är tom och namecurrentDate har standardvärden. Dessutom har Visual Studio öppnat ett tomt konsolfönster.

  2. Tryck på F11. Visual Studio visar nu nästa körningsrad. Fönstret Locals är oförändrat och konsolfönstret förblir tomt.

    C#

    Visual Studio step in method source - C#

    Visual Basic

    Visual Studio step into method source - Visual Basic

  3. Tryck på F11. Visual Studio visar instruktionen som innehåller variabeltilldelningen name . Fönstret Locals visar att name är null, och konsolfönstret visar strängen "Vad är ditt namn?".

  4. Svara på uppmaningen genom att ange en sträng i konsolfönstret och trycka på Retur. Konsolen svarar inte och strängen som du angav visas inte i konsolfönstret, men Console.ReadLine metoden samlar ändå in dina indata.

  5. Tryck på F11. Visual Studio visar instruktionen som innehåller variabeltilldelningen currentDate . Fönstret Locals visar det värde som returneras av anropet till Console.ReadLine metoden. Konsolfönstret visar även strängen som du angav i kommandotolken.

  6. Tryck på F11. Fönstret Lokala värden visar värdet för variabeln currentDate efter tilldelningen DateTime.Now från egenskapen. Konsolfönstret är oförändrat.

  7. Tryck på F11. Visual Studio anropar Console.WriteLine(String, Object, Object) metoden. Konsolfönstret visar den formaterade strängen.

  8. Välj Felsöka>steg ut. Ett annat sätt att stoppa stegvis körning är genom att trycka på Skift+F11.

    Konsolfönstret visar ett meddelande och väntar på att du ska trycka på en nyckel.

  9. Tryck på valfri tangent för att stänga konsolfönstret och sluta felsöka.

Använda Versionsversionskonfiguration

När du har testat felsökningsversionen av ditt program bör du också kompilera och testa versionsversionen. Versionsversionen innehåller kompilatoroptimeringar som ibland kan påverka beteendet för ett program negativt. Kompilatoroptimeringar som är utformade för att förbättra prestanda kan till exempel skapa konkurrensvillkor i flertrådade program.

Om du vill skapa och testa versionen av konsolprogrammet ändrar du byggkonfigurationen i verktygsfältet från Felsök till Version.

default Visual Studio toolbar with release highlighted

När du trycker på F5 eller väljer Skapa lösningmenyn Skapa kompilerar Visual Studio versionen av programmet. Du kan testa det på samma sätt som du gjorde felsökningsversionen.

Nästa steg

I den här självstudien använde du Felsökningsverktyg för Visual Studio. I nästa självstudie publicerar du en distributionsbar version av appen.

I den här självstudien beskrivs de felsökningsverktyg som är tillgängliga i Visual Studio.

Förutsättningar

Använda konfiguration av felsökningsversion

Felsökning och lansering är Visual Studio inbyggda byggkonfigurationer. Du använder konfigurationen Felsökningsversion för felsökning och versionskonfigurationen för den slutliga versionsdistributionen.

I felsökningskonfigurationen kompileras ett program med fullständig symbolisk felsökningsinformation och ingen optimering. Optimeringen komplicerar felsökningen eftersom relationen mellan källkod och genererade instruktioner är mer komplex. Versionskonfigurationen för ett program har ingen symbolisk felsökningsinformation och är helt optimerad.

Visual Studio använder som standard konfigurationen för felsökningsversion, så du behöver inte ändra den innan du felsöker.

  1. Starta Visual Studio.

  2. Öppna projektet som du skapade i Skapa ett .NET-konsolprogram med hjälp av Visual Studio.

    Den aktuella byggkonfigurationen visas i verktygsfältet. Följande verktygsfältsbild visar att Visual Studio är konfigurerat för att kompilera felsökningsversionen av appen:

    Visual Studio toolbar with debug highlighted

Ange en brytpunkt

En brytpunkt avbryter tillfälligt körningen av programmet innan raden med brytpunkten körs.

  1. Ange en brytpunkt på raden som visar namn, datum och tid genom att klicka i vänstermarginalen i kodfönstret på den raden. Vänstermarginalen är till vänster om radnumren. Andra sätt att ange en brytpunkt är genom att placera markören i kodraden och sedan trycka på F9 eller välja Växla brytpunktför felsökning>från menyraden.

    Som följande bild visar anger Visual Studio den rad där brytpunkten anges genom att markera den och visa en röd punkt i vänstermarginalen.

    Visual Studio Program window with breakpoint set

  2. Tryck på F5 för att köra programmet i felsökningsläge. Ett annat sätt att börja felsöka är genom att välja Felsöka>Starta felsökning från menyn.

  3. Ange en sträng i konsolfönstret när programmet frågar efter ett namn och tryck sedan på Retur.

  4. Programkörningen stoppas när den når brytpunkten och innan Console.WriteLine metoden körs. Fönstret Lokalt visar värdena för variabler som definieras i metoden som körs just nu.

    Screenshot of a breakpoint in Visual Studio

Använd fönstret Omedelbart

Med fönstret Omedelbar kan du interagera med det program som du felsöker. Du kan interaktivt ändra värdet för variabler för att se hur det påverkar ditt program.

  1. Om fönstret Omedelbart inte visas visar du det genom att välja Felsöka>Windows>Immediate.

  2. Ange name = "Gracie" i fönstret Omedelbart och tryck på Retur .

  3. Ange currentDate = DateTime.Parse("2019-11-16T17:25:00Z").ToUniversalTime() i fönstret Omedelbart och tryck på Retur .

    Fönstret Omedelbar visar värdet för strängvariabeln och egenskaperna för DateTime värdet. Dessutom uppdateras värdena för variablerna i fönstret Lokal .

    Locals and Immediate Windows in Visual Studio 2019

  4. Tryck på F5 för att fortsätta programkörningen. Ett annat sätt att fortsätta är genom att välja Felsöka>Fortsätt från menyn.

    De värden som visas i konsolfönstret motsvarar de ändringar du gjorde i fönstret Omedelbart .

    Console window showing the entered values

  5. Tryck på valfri tangent för att avsluta programmet och sluta felsöka.

Ange en villkorsstyrd brytpunkt

Programmet visar strängen som användaren anger. Vad händer om användaren inte anger något? Du kan testa detta med en användbar felsökningsfunktion som kallas villkorlig brytpunkt.

  1. Högerklicka på den röda punkt som representerar brytpunkten. I snabbmenyn väljer du Villkor för att öppna dialogrutan Brytpunktsinställningar . Markera rutan för Villkor om den inte redan är markerad.

    Editor showing breakpoint settings panel - C#

  2. För villkorsuttrycket anger du följande kod i fältet som visar exempelkod som testar om x är 5.

    String.IsNullOrEmpty(name)
    
    String.IsNullOrEmpty(name)
    

    Varje gång brytpunkten slås anropar String.IsNullOrEmpty(name) felsökningsprogrammet metoden och den bryts endast på den här raden om metodanropet returnerar true.

    I stället för ett villkorsuttryck kan du ange ett antal träffar, vilket avbryter programkörningen innan en instruktion körs ett angivet antal gånger. Ett annat alternativ är att ange ett filtervillkor som avbryter programkörningen baserat på sådana attribut som trådidentifierare, processnamn eller trådnamn.

  3. Välj Stäng för att stänga dialogrutan.

  4. Starta programmet med felsökning genom att trycka på F5.

  5. Tryck på Retur i konsolfönstret när du uppmanas att ange ditt namn.

  6. Eftersom villkoret du angav (name är antingen null eller String.Empty) har uppfyllts stoppas programkörningen när den når brytpunkten och innan Console.WriteLine metoden körs.

  7. Välj fönstret Lokal , som visar värdena för variabler som är lokala för den metod som körs just nu. I det här fallet Main är den metod som körs för närvarande. Observera att värdet för variabeln name är "", eller String.Empty.

  8. Bekräfta att värdet är en tom sträng genom att ange följande instruktion i fönstret Omedelbart och trycka på Retur. Resultatet är true.

    ? name == String.Empty
    
    ? String.IsNullOrEmpty(name)
    

    Frågetecknet dirigerar det omedelbara fönstret för att utvärdera ett uttryck.

    Immediate Window returning a value of true after the statement is executed - C#

  9. Tryck på F5 för att fortsätta programkörningen.

  10. Tryck på valfri tangent för att stänga konsolfönstret och sluta felsöka.

  11. Rensa brytpunkten genom att klicka på punkten i kodfönstrets vänstermarginal. Andra sätt att rensa en brytpunkt är genom att trycka på F9 eller välja Växla brytpunktför felsökning > medan kodraden är markerad.

Stega igenom ett program

Med Visual Studio kan du också stega rad för rad genom ett program och övervaka dess körning. Vanligtvis anger du en brytpunkt och följer programflödet genom en liten del av programkoden. Eftersom det här programmet är litet kan du gå igenom hela programmet. När du inte felsöker just nu och fokus ligger på Visual Studio:

  1. Välj Felsöka>steg till. Ett annat sätt att felsöka en instruktion i taget är genom att trycka på F11.

    Visual Studio markerar och visar en pil bredvid nästa körningsrad.

    C#

    Visual Studio step into method - C#

    Visual Basic

    Visual Studio step into method - Visual Basic

    Nu visar fönstret Locals att matrisen args är tom och namecurrentDate har standardvärden. Dessutom har Visual Studio öppnat ett tomt konsolfönster.

  2. Tryck på F11. Visual Studio visar nu nästa körningsrad. Fönstret Locals är oförändrat och konsolfönstret förblir tomt.

    C#

    Visual Studio step in method source - C#

    Visual Basic

    Visual Studio step into method source - Visual Basic

  3. Tryck på F11. Visual Studio visar instruktionen som innehåller variabeltilldelningen name . Fönstret Locals visar att name är null, och konsolfönstret visar strängen "Vad är ditt namn?".

  4. Svara på uppmaningen genom att ange en sträng i konsolfönstret och trycka på Retur. Konsolen svarar inte och strängen som du angav visas inte i konsolfönstret, men Console.ReadLine metoden samlar ändå in dina indata.

  5. Tryck på F11. Visual Studio visar instruktionen som innehåller variabeltilldelningen currentDate . Fönstret Locals visar det värde som returneras av anropet till Console.ReadLine metoden. Konsolfönstret visar även strängen som du angav i kommandotolken.

  6. Tryck på F11. Fönstret Lokala värden visar värdet för variabeln currentDate efter tilldelningen DateTime.Now från egenskapen. Konsolfönstret är oförändrat.

  7. Tryck på F11. Visual Studio anropar Console.WriteLine(String, Object, Object) metoden. Konsolfönstret visar den formaterade strängen.

  8. Välj Felsöka>steg ut. Ett annat sätt att stoppa stegvis körning är genom att trycka på Skift+F11.

    Konsolfönstret visar ett meddelande och väntar på att du ska trycka på en nyckel.

  9. Tryck på valfri tangent för att stänga konsolfönstret och sluta felsöka.

Använda Versionsversionskonfiguration

När du har testat felsökningsversionen av ditt program bör du också kompilera och testa versionsversionen. Versionsversionen innehåller kompilatoroptimeringar som ibland kan påverka beteendet för ett program negativt. Kompilatoroptimeringar som är utformade för att förbättra prestanda kan till exempel skapa konkurrensvillkor i flertrådade program.

Om du vill skapa och testa versionen av konsolprogrammet ändrar du byggkonfigurationen i verktygsfältet från Felsök till Version.

default Visual Studio toolbar with release highlighted

När du trycker på F5 eller väljer Skapa lösningmenyn Skapa kompilerar Visual Studio versionen av programmet. Du kan testa det på samma sätt som du gjorde felsökningsversionen.

Nästa steg

I den här självstudien använde du Felsökningsverktyg för Visual Studio. I nästa självstudie publicerar du en distributionsbar version av appen.