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:
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 direkte i koden 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å linjen
int x = 10;og tryk på F5- Bemærk at applikationen stopper lige før linjen skal afvikles
- Brug F10 til at steppe gennem linjerne, der ændrer
x- Bemærk Locals vinduet hvor x ændrer værdi
- Stop afvikling ved at trykke shift+F5
- Fjern breakpointet
- Sæt et breakpoint på linjen med
for-løkken 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å kaldet til
LæggerToTalSammenog 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å kaldet til
MetodeAog 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
- Tjek Call Stack-vinduet, når du når til
MetodeC- Her kan du se hvordan du er endt i metoden
- Tjek Call Stack-vinduet, når du når til
- 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: