Visual Studio Debug Toolbar
Praktický prehľad najdôležitejších debug tlačidiel vo Visual Studiu. Článok vysvetľuje význam jednotlivých buttonov, ich použitie pri debugovaní a ukážky kódu s breakpointami.
▶ Continue / Continue Debugging
Klávesa: F5
Continue slúži na spustenie aplikácie alebo pokračovanie po zastavení na breakpointe. Je to jedno z najčastejšie používaných debug tlačidiel vo Visual Studiu.
Kedy sa používa:
- pri prvom spustení aplikácie,
- po zastavení na breakpointe,
- po kontrole premenných.
Ukážka:
public void SaveOrder()
{
var orderId = 15; // breakpoint
Console.WriteLine(orderId);
}
⏭ Step Over
Klávesa: F10
Step Over vykoná ďalší riadok kódu bez vstupu do metódy. Používa sa pri bežnom krokovaní programu.
Kedy sa používa:
- pri klasickom debugovaní,
- keď nechceš vstupovať do helper metód.
Ukážka:
public void Process()
{
LoadData(); // F10 preskočí vnútro metódy
Console.WriteLine("Done");
}
⬇ Step Into
Klávesa: F11
Step Into vstúpi dovnútra metódy a umožní analyzovať jej vnútorné správanie.
Kedy sa používa:
- pri hľadaní chyby vo vnútri metódy,
- pri analýze business logiky.
Ukážka:
public void Process()
{
Calculate(); // F11 vstúpi do metódy
}
private void Calculate()
{
int x = 5; // breakpoint
}
⬆ Step Out
Klávesa: Shift + F11
Step Out ukončí aktuálnu metódu a vráti debugger späť do volajúceho kódu.
Kedy sa používa:
- keď si príliš hlboko v call stacku,
- pri nechcenom vstupe do frameworkového kódu.
Ukážka:
public void Start()
{
Execute();
}
private void Execute()
{
int value = 10; // breakpoint
}
↩ Run to Cursor
Klávesa: Ctrl + F10
Run to Cursor spustí aplikáciu po riadok, kde sa nachádza kurzor. Nemusíš vytvárať breakpoint.
Kedy sa používa:
- pri jednorazovom debugovaní,
- pri rýchlej navigácii vo veľkých metódach.
Ukážka:
for(int i = 0; i < 100; i++)
{
Console.WriteLine(i);
// kurzor sem + Ctrl+F10
}
■ Stop Debugging
Klávesa: Shift + F5
Stop Debugging úplne zastaví aplikáciu a ukončí debugging session.
Kedy sa používa:
- pri ukončení testovania,
- pri zamrznutí aplikácie.
Ukážka:
while(true)
{
// nekonečná slučka
}