TOC

This article has been localized into Czech by the community.

Ladění (debugging):

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.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!