Schnellstart: Debuggen mit C++ mithilfe des Visual Studio-Debuggers

In dieser Schnellstartanleitung erfahren Sie, wie Sie den Visual Studio Debugger verwenden, um Ihren systemeigenen C++-Code zu debuggen. Dieser Artikel bietet eine schnelle Möglichkeit, einige der grundlegenden Features für die Arbeit im Debugger kennenzulernen.

Wenn Sie nicht über Visual Studio verfügen, können Sie die free-Testversion installieren auf der Seite Visual Studio Downloads.

Erstellen eines neuen Projekts

Erstellen Sie zunächst ein neues Projekt, damit Sie etwas Code haben, den Sie im Debugger überprüfen können.

  1. Öffnen Sie Visual Studio, und erstellen Sie ein neues Projekt.

    • Wenn das Startfenster nicht geöffnet ist, wählen Sie ">" aus.

    • Wählen Sie im Startfenster "Neues Projekt erstellen" aus.

  2. Legen Sie im Fenster " Neues Projekt erstellen " die Filter fest, und suchen Sie nach einer Projektvorlage.

    • Geben Sie im Suchfeld Vorlagen suchenleer ein.

    • Erweitern Sie das Dropdownmenü "Sprache ", und wählen Sie "C++" aus.

  3. Wählen Sie in der Ergebnisliste die Vorlage Empty Project für C++ aus, und wählen Sie dann Next aus.

    Wenn die Vorlage Empty Project für C++ nicht angezeigt wird, wählen Sie die Option Continue ohne Code aus.

    1. Wählen Sie Tools>Get Tools and Features aus... , wodurch das Visual Studio Installer geöffnet wird.

    2. Aktivieren Sie im Fenster "Installationsprogramm" das Kontrollkästchen für die Desktopentwicklung mit C++ -Workload, und wählen Sie dann "Ändern" aus.

      Ihre Visual Studio-Installation wird aktualisiert, sodass sie die ausgewählte C++-Workload enthält.

    3. Nachdem das Update abgeschlossen ist, wählen Sie "Dateistartfenster>" aus, und folgen Sie den vorherigen Anweisungen, um die erforderliche Vorlage auszuwählen.

  4. Konfigurieren Sie das neue Projekt:

    1. Geben Sie einen Projektnamen und einen Lösungsnamen ein, oder verwenden Sie die Standardwerte.

    2. Verwenden Sie den Standardspeicherort , oder wählen Sie "Durchsuchen" (...) aus, um das Projekt in einem anderen Ordner zu erstellen.

    3. Wählen Sie "Erstellen" aus.

    Visual Studio erstellt Ihr neues Projekt und fügt die Projektdateien im angegebenen Ordner hinzu.

Hinzufügen einer Projektdatei

Fügen Sie eine Codedatei hinzu, damit Sie inhalte zum Testen im Debugger haben.

  1. Im Bereich Projektmappen-Explorer Klicken Sie mit der rechten Maustaste auf ihren <projektnamen> und wählen Sie Add>Neues Element aus.

    Wenn der Bereich Projektmappen-Explorer nicht angezeigt wird, wählen Sie View>Projektmappen-Explorer aus.

  2. Geben Sie im Dialogfeld " Neues Element hinzufügen " den Dateinamen MyDbgApp.cpp ein, und wählen Sie dann "Hinzufügen" aus.

    Die Datei wird im Code-Editor geöffnet.

  3. Fügen Sie der neuen Datei den folgenden Code hinzu.

    #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();
    }
    
  4. Speichern Sie Die Dateiänderungen mit der Tastenkombination STRG+S .

Haltepunkt festlegen

Ein breakpoint ist eine Markierung, die angibt, wo Visual Studio den ausgeführten Code anhalten soll. Wenn ein Haltepunkt festgelegt ist, können Sie sich die aktuellen Werte von Variablen ansehen, das Verhalten des Arbeitsspeichers untersuchen und überprüfen, ob ein bestimmter Codezweig ausgeführt wird. Haltepunkte sind das grundlegendste Feature beim Debuggen.

  1. Um einen Haltepunkt festzulegen, suchen Sie den Aufruf der doWork() Funktion im Code, und wählen Sie dann im linken Bundsteg in derselben Zeile aus.

    Wenn der Haltepunkt gesetzt ist, wird am linken Rand in der entsprechenden Codezeile ein roter Punkt angezeigt.

    Screenshot, der zeigt, wie Sie im Visual Studio-Debugger einen Haltepunkt festlegen.

    Screenshot, der zeigt, wie man im Visual Studio 2022-Debugger einen Haltepunkt festlegt.

  2. Starten Sie das Debuggen mithilfe der F5-Tastenkombination (oder wählen Sie "Debuggen>starten" aus).

    Screenshot, der den Debugger in Visual Studio an einem gesetzten Haltepunkt angehalten zeigt.

    Screenshot, der den Debugger angehalten an einem gesetzten Haltepunkt in Visual Studio 2022 zeigt.

    Die Codeausführung wird unmittelbar vor dem Aufruf der doWork() Funktion angehalten.

    Der Debugger hält an dem Breakpoint an, den Sie festlegen. Ein gelber Pfeil kennzeichnet die Anweisung, bei der der Debugger die Ausführung der App anhält.

    Tipp

    Wenn Sie Speicherfehler in Ihrem C++-Code debuggen, können Sie auch Haltepunkte verwenden, um Adresswerte zu prüfen (suchen nach NULL) und Referenzanzahlen.

Festlegen von bedingten Haltepunkten

Wenn Sie einen Haltepunkt in einer Schleife oder Rekursion festlegen oder viele Haltepunkte haben, die Sie häufig durchlaufen, verwenden Sie einen bedingten Haltepunkt.

Mit diesem Ansatz wird sichergestellt, dass Ihr Code nur angehalten wird, wenn bestimmte Bedingungen erfüllt sind. Ein bedingter Haltepunkt kann Zeit sparen und das Debuggen von Problemen erleichtern, die schwer zu reproduzieren sind.

Ihren Code durchgehen

Visual Studio bietet verschiedene Möglichkeiten zum Anweisen des Debuggers, mit der App-Ausführung fortzufahren. Das folgende Beispiel zeigt einen nützlichen Befehl zum Durchlaufen des Codes.

Während der Code am Haltepunkt angehalten ist, zeigen Sie auf die Anweisung c1.push_back(20), bis das grüne Symbol Ausführen per Klick (Ausführung bis hier ausführen) angezeigt wird. Wählen Sie das Symbol aus.

Screenshot, der zeigt, wie man im Visual Studio-Debugger mit der Aktion „Ausführen bis Klick“ arbeitet.

Während der Code am Haltepunkt angehalten ist, bewegen Sie den Mauszeiger auf die Anweisung c1.AddLast(20), bis das grüne Symbol Per Klick ausführen (Ausführung bis hier ausführen) angezeigt wird. Wählen Sie das Symbol aus.

Screenshot, der zeigt, wie Sie im Visual Studio 2022-Debugger mit der Aktion „Bis zum Klick ausführen“ arbeiten.

Die App wird weiter ausgeführt, ruft doWork auf und hält an der Codezeile an, für die Sie Bis zum Klick ausführen ausgewählt haben.

Allgemeine Tastaturbefehle, die zum Schrittweisen Durchlaufen von Code verwendet werden, umfassen F10 und F11. Ausführlichere Anweisungen finden Sie unter Overview des Visual Studio Debuggers.

Überprüfen von Variablen in einem Datentipp

Sie können den Status Ihrer Variablen mithilfe der Datentippfunktion überprüfen.

  1. Zeigen Sie in der aktuellen Codezeile (gekennzeichnet durch den gelben Ausführungspunkt) mit der Maus auf das c1 Objekt, um den Datentipp anzuzeigen.

    Screenshot zum Anzeigen von Datentipps für Codevariablen im Visual Studio debugger.

    Screenshot zum Anzeigen von Datentipps für Codevariablen im Visual Studio 2022 debugger.

    Der Datentipp zeigt Ihnen den aktuellen Wert der c1 Variablen an und ermöglicht es Ihnen, deren Eigenschaften zu überprüfen.

    Wenn beim Debuggen ein unerwarteter Wert für eine Variable angezeigt wird, liegt wahrscheinlich ein Fehler vor. Der Fehler könnte im Code enthalten sein, der den Aufruf der Variablen oder in der vorherigen Zeile vorgibt.

  2. Erweitern Sie den Datentipp, um die aktuellen Eigenschaftswerte des c1 Objekts anzuzeigen.

  3. Um den Wert der Ausführung des c1 Codes weiterhin zu überprüfen, wählen Sie das Pinsymbol auf der Datenspitze aus.

    Die Pin-Aktion hält den Datentipp geöffnet. Während der Code ausgeführt wird, ändert sich der Wert in der angehefteten Info so, dass der aktuelle Zustand des überwachten Objekts angezeigt wird.

    Sie können den angehefteten Hinweis an eine beliebige Position in der IDE verschieben, sodass er Sie beim Debuggen nicht daran hindert, andere Elemente im Blick zu behalten.

Aktivieren des heißen Neuladens beim Debuggen

Wenn beim Debuggen eine Änderung angezeigt wird, die Sie im Code testen möchten, können Sie das Feature Hot Reload (zuvor Edit and Continue) verwenden.

  1. Wählen Sie die zweite Instanz der c2.front() Anweisung aus, und ändern Sie den Code in c2.back().

  2. Drücken Sie F10 mehrmals (oder wählen Sie mehrmals Debug>Überspringen), um im Debugger fortzufahren und den bearbeiteten Code auszuführen.

    Animation, die zeigt, wie Sie mit der Funktion „Hot Reload“ im Debugger von Visual Studio Bearbeiten und Fortfahren.

    Animation, die zeigt, wie Bearbeiten und Fortfahren im Visual Studio 2022-Debugger funktioniert.

    F10 führt den Debugger jeweils um eine Anweisung weiter, setzt jedoch Funktionsaufrufe fort, anstatt in sie hineinzugehen (der Code, den Sie überspringen, wird weiterhin ausgeführt).

Weitere Informationen zu Feature und Einschränkungen finden Sie unter Configure Hot Reload.

Nächster Schritt