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.
V tomto rychlém startu se dozvíte, jak pomocí ladicího programu Visual Studio ladit nativní kód C++. Tento článek umožňuje rychle se seznámit s některými základními funkcemi pro práci v ladicím programu.
Pokud nemáte Visual Studio, můžete si nainstalovat bezplatnou zkušební verzi ze stránky Visual Studio ke stažení.
Vytvoření nového projektu
Začněte vytvořením nového projektu, takže máte nějaký kód, který chcete zkontrolovat v ladicím programu.
Otevřete Visual Studio a vytvořte nový projekt.
Pokud není Start Window otevřené, vyberte File>Start Window.
V úvodním okně vyberte Vytvořit nový projekt.
V okně Vytvořit nový projekt nastavte filtry a vyhledejte šablonu projektu.
Do pole Hledat šablony zadejte prázdné.
Rozbalte rozevírací seznam Jazyk a vyberte C++.
V seznamu výsledků vyberte šablonu Empty Project pro C++ a pak vyberte Další.
Pokud nevidíte šablonu Empty Project pro C++, vyberte možnost Continue bez kódu.
Vyberte Nástroje>Get Tools and Features... , čímž se otevře instalační program Visual Studio.
V okně Instalačního programu zaškrtněte políčko pro vývoj desktopových aplikací s úlohou C++ a pak vyberte Upravit.
Aktualizace instalace Visual Studio tak, aby zahrnovaly vybranou úlohu jazyka C++.
Po dokončení aktualizace vyberteúvodní okno> a podle předchozích pokynů vyberte požadovanou šablonu.
Konfigurace nového projektu:
Zadejte název projektu a název řešení, nebo použijte výchozí hodnoty.
Pomocí výchozího umístění nebo výběrem možnosti Procházet (...) vytvořte projekt v jiné složce.
Vyberte Vytvořit.
Visual Studio vytvoří nový projekt a přidá soubory projektu do zadané složky.
Přidání souboru projektu
Přidejte soubor s kódem, abyste měli co testovat v debuggeru.
V podokně Průzkumník řešení Klikněte pravým tlačítkem myši na < název_projektu> a vyberte Přidat>Znovovaná položka.
Pokud podokno Průzkumník řešení nevidíte, vyberte View>Průzkumník řešení.
V dialogovém okně Přidat novou položku zadejte název souboru MyDbgApp.cpp a pak vyberte Přidat.
Soubor se otevře v editoru kódu.
Do nového souboru přidejte následující kód.
#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(); }Uložte změny souboru pomocí klávesové zkratky Ctrl+S .
Nastavte zarážku
Bod přerušení je značka, která určuje, kde má aplikace Visual Studio pozastavit běh kódu. Když je zarážka nastavená, můžete se podívat na aktuální hodnoty proměnných, prozkoumat chování paměti a zkontrolovat, jestli je spuštěná konkrétní větev kódu. Zarážky jsou nejzásadnější funkcí ladění.
Chcete-li nastavit bod přerušení, vyhledejte v kódu volání funkce
doWork()a pak klikněte do levého okraje na stejném řádku.Když je bod přerušení nastaven, zobrazí se v levém okraji na odpovídajícím řádku kódu červená tečka.
Spusťte ladění pomocí klávesové zkratky F5 ( nebo vyberte>Spustit ladění).
Provádění kódu se pozastaví bezprostředně před voláním
doWork()funkce.Ladicí program se pozastaví tam, kde jste nastavili bod přerušení. Žlutá šipka identifikuje příkaz, ve kterém ladicí program pozastaví provádění aplikace.
Návod
Při ladění chyb souvisejících s pamětí v kódu jazyka C++ můžete také použít body přerušení k prozkoumání hodnot adres (hledejte
NULL) a počtů referencí.
Nastavení podmíněných zarážek
Pokud nastavíte bod přerušení ve smyčce nebo rekurzi anebo máte mnoho bodů přerušení, kterými často procházíte krok za krokem, použijte podmíněný bod přerušení.
Tento přístup pomáhá zajistit, aby váš kód byl pozastaven pouze v případě, že jsou splněny konkrétní podmínky. Podmíněný bod přerušení může ušetřit čas a také usnadnit ladění problémů, které je obtížné reprodukovat.
Projděte si kód
Visual Studio nabízí několik různých způsobů, jak dát ladicímu programu pokyn, aby pokračoval v běhu aplikace. Následující příklad ukazuje užitečný příkaz pro procházení kódu.
Když je kód pozastaven na bodu přerušení, najeďte myší na příkaz c1.push_back(20), dokud neuvidíte zelenou ikonu Spustit po kliknutí (Spustit provádění sem)
icon. Vyberte ikonu.
Zatímco je kód pozastaven v bodu přerušení, najeďte myší na příkaz c1.AddLast(20), dokud neuvidíte zelenou ikonu Spustit sem kliknutím (Spustit provádění sem)
. Vyberte ikonu.
Aplikace pokračuje v běhu, volá doWork a pozastaví se na řádku kódu, kde jste vybrali možnost Run to click.
Běžné příkazy na klávesnici používané k procházení kódem zahrnují F10 a F11. Podrobnější pokyny najdete v tématu Přehled ladicího programu Visual Studio.
Kontrola proměnných v datovém tipu
Stav proměnných můžete zkontrolovat pomocí funkce datového tipu .
Na aktuálním řádku kódu (označeném žlutým ukazatelem spuštění) najeďte myší na objekt
c1, aby se zobrazil datový popisek.
Datový tip ukazuje aktuální hodnotu
c1proměnné a umožňuje zkontrolovat její vlastnosti.Pokud při ladění vidíte neočekávanou hodnotu proměnné, pravděpodobně máte chybu. Chyba může být v kódu, který volá proměnnou nebo na předchozím řádku.
Rozbalte datový tip a prohlédněte si aktuální hodnoty vlastností objektu
c1.Pokud chcete pokračovat v kontrole hodnoty
c1při spuštění kódu, vyberte ikonu připínáčku
na datovém tipu.Akce připnutí udržuje datový tip otevřený. Při spuštění kódu se hodnota v připnutém tipu změní tak, aby zobrazovala aktuální stav sledovaného objektu.
Připnutý popisek můžete v IDE přesunout kamkoli, takže vám při ladění nebude bránit ve sledování dalších položek.
Povolte hot reload při ladění
Pokud při ladění vidíte změnu, kterou chcete v kódu otestovat, můžete použít funkci Opětovné načítání za provozu (dříve označovanou jako Edit a Continue).
Vyberte druhou instanci
c2.front()příkazu a změňte kód nac2.back().Několikrát stiskněte F10 (nebo několikrát vyberte Ladění>Překročit proceduru), aby se ladění posunulo a provedl se upravený kód.
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í).
Další informace o funkcích a omezeních najdete v tématu Konfigurování Opětovné načítání za provozu.