N060 Simpel debugging
Denne opgave har til formål at sikre, at du ved hvordan du kan debugge en konsol-applikation:
- Skab en tom console applikation i Visual Studio Code eller Visual Studio
- Erstat al kode i program.cs med denne kode:
using System;
namespace DebugDemo
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Debug demo");
// Variabel
int x = 10;
Console.WriteLine($"x = {x}");
x++;
Console.WriteLine($"x = {x}");
x = x * 2;
Console.WriteLine($"x = {x}");
Console.WriteLine("Tæller til 4");
for (int i = 0; i < 4; i++)
{
if (i < 2)
{
Console.WriteLine("i er < 2");
}
else
{
Console.WriteLine("i er >= 2");
}
Console.WriteLine(i);
}
// Kalder metode
int res = LæggerToTalSammen(2, 2);
Console.WriteLine($"Resultat = {res}");
// kalder metode (der kalder metode)
MetodeA();
// Break ud i kode er også muligt
// System.Diagnostics.Debugger.Break();
}
static int LæggerToTalSammen(int a, int b)
{
return a + b;
}
static void MetodeA()
{
Console.WriteLine("I metode A");
MetodeB();
}
static void MetodeB()
{
Console.WriteLine("I metode B");
MetodeC();
}
static void MetodeC()
{
Console.WriteLine("I metode C");
}
}
}
Prøv nu at
- Kør applikationen uden debugger (ctrl+F5) så du kan se hvad den gør
- Sæt et breakpoint (F9) på linje 15 og tryk på F5
- Bemærk at applikationen stopper lige før den skal til at afvikle linje 15
- Brug F10 til at steppe dig gennem koden til linje 20
- Bemærk Locals vinduet hvor x ændrer værdi
- Stop afvikling ved at trykke shift+F5
- Fjern breakpoint fra linje 15
- Sæt et breakpoint på linje 23 og kør (F5)
- Når applikationen er i debug-mode så step dig gennem for-løkken
- Bemærk hvordan programpointeren bevæger sig i for-løkken og i betingelsen
- Stop afvikling ved at trykke shift+F5
- Tryk ctrl+shift+F9 for at slette alle breakpoints
- Når applikationen er i debug-mode så step dig gennem for-løkken
- Sæt et breakpoint på linje 35 og kør (F5)
- Tryk på F11 (step into) og bemærk, at du følger programpointeren ned i metoden og kommer retur
- Hold musen over res når du er retur - det er også en måde at se værdien af en variabel
- Stop debugging (shift+F5), fjern alle breakpoints og sæt et nyt på linje 39 og kør (F5)
- Tryk på F11 (step into) og bemærk, at du følger programpointeren ned i alle metoder og kommer hele vejen retur
- Check Call stack vinduet når du når program pointeren når til linje 63
- Her kan du se hvordan du er endt i metoden
- Check Call stack vinduet når du når program pointeren når til linje 63
- Tryk på F11 (step into) og bemærk, at du følger programpointeren ned i alle metoder og kommer hele vejen retur
Der er meget mere i C# debugging med Visual Studio - men det vil give dig en grundlæggende viden.
Her er en video der viser hvordan du kan debugge i Visual Studio Code: