This article has been localized into Czech by the community.
Procházení kódem krok za krokem
V této kapitole se podíváme na procházení vašeho kódu krok za krokem, což je další velmi zásadní část ladění. Pro tento účel jsem napsal tuto jednoduchou aplikaci:
namespace DebugTest
{
class Program
{
static void Main(string[] args)
{
int a = 5;
a = a * 2;
a = a - 3;
a = a * 6;
Console.WriteLine(a);
}
}
}
Tato aplikace jednoduše manipuluje s proměnnou "a" několikrát a poté vypíše konečný výsledek. Zkuste umístit zarážku, jak je popsáno v předchozí kapitole, na samotný první řádek, kde je proměnná a použita (a deklarována). Nyní aplikaci spusťte. Vykonávání se zastaví a můžete najet myší na proměnnou a, abyste se ujistili, že to, co jsme se naučili v předchozí kapitole, je skutečně pravda: Proměnná obsahuje pouze výchozí hodnotu, protože kód, který přiřazuje hodnotu (v tomto případě 5), ještě nebyl proveden, ale změňme to. V menu Debug (Ladění) vyberte možnost "Step over" (Přeskočit) nebo ještě lépe použijte klávesovou zkratku F10. Vykonávání nyní pokračuje na další relevantní řádek, a pokud najedete myší na proměnnou a, uvidíte, že nyní má hodnotu. Zkuste to znovu a uvidíte, jak se hodnota mění podle postupně vykonávaných řádků, až dosáhnete konce.
Dobře, to bylo celkem základní, ale také velmi užitečné, jak si uvědomíte, jakmile začnete psát složitější kód. V tomto příkladě byl tok kódu velmi jednoduchý, protože jsme zůstali v rámci jedné funkce, ale co když se váš kód začne rozšiřovat přes více tříd a/nebo funkcí? Zkuste tento příklad:
namespace DebugTest
{
class Program
{
static void Main(string[] args)
{
int a = 5;
int b = 2;
int result = MakeComplicatedCalculation(a, b);
Console.WriteLine(result);
}
static int MakeComplicatedCalculation(int a, int b)
{
return a * b;
}
}
}
Umístěte zarážku na první řádek metody Main a spusťte aplikaci. Nyní použijte funkci "Přeskočit" (Step over), abyste prošli každým řádkem. Jak uvidíte, pohybuje se přes volání funkce bez jakéhokoli upozornění - tak to prostě při ladění funguje. Nyní to zkuste znovu, od začátku, a jakmile dojdete k řádku s voláním MakeComplicatedCalculation(), vyberte Ladění -> Vstoupit do (Debug -> Step into), nebo použijte klávesovou zkratku F11. Ladění nyní vstoupí do prvního možného volání funkce, což vám umožní procházet i touto funkcí. Jak si pravděpodobně dokážete představit, toto vám umožňuje procházet složitým blokem kódu, zatímco vstupujete pouze do volání funkcí, které vás zajímají.
Pokud vstoupíte do funkce a pak si uvědomíte, že byste se raději vrátili do předchozího kontextu, použijete velmi logicky pojmenovanou možnost z menu Ladění nazvanou "Vystoupit" (klávesová zkratka je Shift+F11). To vás vrátí do vašeho předchozího kontextu, což samozřejmě znamená, že můžete vstoupit do libovolného počtu volání funkcí, které chcete, a pak najít cestu zpět pomocí možnosti vystoupit.