Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Ladicí program Visual Studio poskytuje mnoho výkonných funkcí, které vám pomohou ladit vaše aplikace. Toto téma nabízí rychlý způsob, jak se naučit některé základní funkce.
Vytvoření nového projektu
Otevřete Visual Studio a vytvořte projekt.
Pokud okno Start ještě není otevřené, vyberte Okno Start souboru>. V okně Start vyberte Vytvořit nový projekt. Do vyhledávacího pole zadejte "Prázdný projekt" a pak vyberte šablonu prázdného projektu C++.
Pokud nevidíte šablonu projektu, otevřete Visual Studio Installer. Vyberte Desktopový vývoj s pracovním zatížením C++, poté zvolte Upravit.
Visual Studio vytvoří projekt.
Vytvořte nový zdrojový soubor s názvem
MyDbgApp.cppV MyDbgApp.cpp nahraďte následující kód
int main() { return 0; }s tímto kódem (neodstraňujte
#include "stdafx.h"):#include <list> #include <iostream> using namespace std; void doWork() { list <int> c1; c1.push_back(10); c1.push_back(20); const list <int> c2 = c1; const int &i = c2.front(); const int &j = c2.front(); cout << "The first element is " << i << endl; cout << "The second element is " << j << endl; } int main() { doWork(); }
Nastavte zarážku
Bod přerušení je značkou, která označuje, kde by měl Visual Studio pozastavit váš běžící kód, abyste mohli zkontrolovat hodnoty proměnných, chování paměti nebo zda se vykonává nějaká větev kódu. Jedná se o nejzákladnější funkci ladění.
Pro nastavení zarážky klikněte do žlábku vlevo od volání funkce
doWork(nebo vyberte řádek kódu a stiskněte F9).
Nyní stiskněte F5 (nebo vyberte Debug > Start Debugging).
Ladicí program se pozastaví tam, kde jste nastavili bod přerušení. Výrok, kde je ladicí program a spuštění aplikace pozastaveno, je označen žlutou šipkou. Řádek s voláním
doWorkfunkce se ještě nespustí.Návod
Pokud máte bod přerušení v cyklu nebo rekurzi, nebo pokud máte mnoho bodů přerušení, které často procházíte, použijte podmíněný bod přerušení, abyste zajistili, že váš kód bude pozastaven POUZE tehdy, když jsou splněny konkrétní podmínky. Podmíněný zarážka šetří čas a může také usnadnit ladění problémů, které je obtížné reprodukovat.
Když se snažíte ladit chyby související s pamětí v C++, můžete také použít body přerušení k prozkoumání adresních hodnot (hledat NULL) a počtu odkazů.
Procházet kód
Existují různé příkazy, které umožňují pokračovat v ladění. Představujeme užitečný příkaz pro navigaci v kódu, který je k dispozici od Visual Studio 2017.
Při pozastavení na bodu přerušení najeďte myší na příkaz c1.push_back(20), dokud se neobjeví zelené tlačítko Spustit na kliknutí
, a poté stiskněte tlačítko Spustit na kliknutí.
Aplikace pokračuje v exekuci, volá doWork, a zastaví se na řádku kódu, kde jste klikli na tlačítko.
Běžné příkazy na klávesnici používané k procházení kódem zahrnují F10 a F11. Pro podrobnější pokyny si přečtěte První pohled na ladicí program.
Zkontrolovat proměnné v datatipu
V aktuálním řádku kódu (označeném žlutým ukazatelem provádění) najeďte myší nad objekt
c1pro zobrazení datové nápovědy.
Datatip vám ukazuje aktuální hodnotu proměnné
c1a umožňuje vám prohlédnout její vlastnosti. Při ladění, pokud vidíte hodnotu, kterou neočekáváte, pravděpodobně máte chybu v předcházejících nebo volajících řádcích kódu.Rozbalte datovou nápovědu, abyste si prohlédli aktuální hodnoty vlastností objektu
c1.Pokud chcete připnout datatip, abyste mohli pokračovat ve sledování hodnoty
c1při spouštění kódu, klikněte na malou ikonu připnutí. (Můžete přesunout připnutý datatip na pohodlné místo.)
Upravte kód a pokračujte v ladění
Pokud zjistíte změnu, kterou chcete otestovat ve svém kódu uprostřed ladění, můžete to udělat také.
Klikněte na druhý výskyt
c2.front()a změňtec2.front()nac2.back().Stiskněte F10 (nebo Debug > Step Over) několikrát pro posunutí debuggeru a provedení upraveného kódu.
F10 posouvá ladicí program jeden příkaz po jednom, ale přeskakuje funkce místo toho, aby do nich vstupoval (kód, který přeskakujete, se stále provádí).
Pro více informací o používání funkce edit-and-continue a o omezeních funkcí, viz Edit and Continue.
Další kroky
V tomto kurzu jste se naučili, jak spustit ladicí program, procházet kód a kontrolovat proměnné. Možná budete chtít získat přehled o funkcích debuggeru spolu s odkazy na další informace.