Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der Visual Studio-Debugger bietet viele leistungsstarke Features, mit denen Sie Ihre Apps debuggen können. Dieses Thema bietet eine schnelle Möglichkeit, einige der grundlegenden Features kennenzulernen.
Erstellen eines neuen Projekts
Öffnen Sie Visual Studio, und erstellen Sie ein Projekt.
Wenn das Startfenster noch nicht geöffnet ist, wählen Sie "Dateistartfenster > " aus. Wählen Sie im Startfenster Neues Projekt erstellenaus. Geben Sie im Suchfeld "Leeres Projekt" ein, und wählen Sie dann die Projektvorlage "C++ Leer" aus.
Wenn die Projektvorlage nicht angezeigt wird, öffnen Sie das Visual Studio-Installationsprogramm. Wählen Sie die Desktopentwicklung mit C++-Workload und dann "Ändern" aus.
Visual Studio erstellt das Projekt.
Erstellen einer neuen Quelldatei namens
MyDbgApp.cpp
Ersetzen Sie in MyDbgApp.cpp den folgenden Code:
int main() { return 0; }
mit diesem Code (entfernen Sie nicht
#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(); }
Haltepunkt festlegen
Ein Haltepunkt ist eine Markierung, die angibt, wo Visual Studio den ausgeführten Code anhalten soll, damit Sie sich die Werte von Variablen oder das Verhalten des Arbeitsspeichers ansehen können oder ob eine Verzweigung des Codes ausgeführt wird. Dies ist das grundlegendste Feature beim Debuggen.
Um den Haltepunkt festzulegen, klicken Sie in der Seitenleiste links vom
doWork
Funktionsaufruf (oder wählen Sie die Codezeile aus und drücken Sie F9).Drücken Sie nun F5 (oder wählen Sie "Debugging starten" > aus).
Der Debugger hält an dem Breakpoint an, den Sie festlegen. Die Anweisung, in der der Debugger und die App-Ausführung angehalten wird, wird durch den gelben Pfeil angezeigt. Die Zeile mit dem
doWork
Funktionsaufruf wurde noch nicht ausgeführt.Tipp
Wenn Sie einen Haltepunkt in einer Schleife oder Rekursion haben oder viele Haltepunkte haben, die Sie häufig durchlaufen, verwenden Sie einen bedingten Haltepunkt , um sicherzustellen, dass Ihr Code NUR angehalten wird, wenn bestimmte Bedingungen erfüllt sind. Ein bedingter Haltepunkt spart Zeit und kann auch das Debuggen von Problemen erleichtern, die schwer zu reproduzieren sind.
Wenn Sie versuchen, Speicherfehler in C++ zu debuggen, können Sie auch Haltepunkte verwenden, um Adresswerte zu prüfen (suchen Sie nach NULL) und Referenzanzahlen.
Im Code navigieren
Es gibt verschiedene Befehle, die den Debugger anweisen, den Vorgang fortzusetzen. Wir zeigen einen nützlichen Codenavigationsbefehl an, der ab Visual Studio 2017 verfügbar ist.
Beim Aussetzen am Breakpoint zeigen Sie auf die Anweisung c1.push_back(20)
, bis die grüne Schaltfläche Ausführen bis Klick angezeigt wird, und klicken Sie dann auf Ausführen bis Klick.
Die App setzt die Ausführung fort, ruft doWork
auf und hält an der Codezeile an, auf der Sie auf die Schaltfläche geklickt haben.
Allgemeine Tastaturbefehle, die zum Schrittweisen Durchlaufen von Code verwendet werden, umfassen F10 und F11. Ausführlichere Anweisungen finden Sie unter "Erster Blick auf den Debugger".
Untersuchen von Variablen in einem Datentipp
Zeigen Sie in der aktuellen Codezeile (zu erkennen an dem gelben Ausführungszeiger) mit der Maus auf das
c1
-Objekt, um Datentipps anzuzeigen.Der aktuelle Wert der Variable
c1
wird angezeigt, und Sie können die Eigenschaften untersuchen. Wenn beim Debuggen ein Wert angezeigt wird, den Sie nicht erwarten, haben Sie wahrscheinlich einen Fehler in den vorherigen oder aufrufenden Codezeilen.Erweitern Sie den Datentipp, um die Eigenschaftswerte des
c1
-Objekts einzusehen.Wenn Sie den Datentipp anheften möchten, damit bei der Codeausführung weiterhin der Wert von
c1
angezeigt wird, klicken Sie auf das Stecknadelsymbol. (Sie können den angehefteten Datentipp an eine geeignete Stelle verschieben.)
Bearbeiten von Code und Fortsetzen des Debuggens
Wenn Sie eine Änderung identifizieren, die Sie im Code während einer Debugsitzung testen möchten, können Sie dies auch tun.
Klicken Sie auf das zweite Vorkommen von
c2.front()
und ändern Siec2.front()
inc2.back()
.Drücken Sie F10 (oder Debug > Step Over) ein paar Mal, um den Debugger weiterzuführen und den bearbeiteten Code auszuführen.
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 zur Verwendung von Bearbeiten und Fortsetzen sowie zu Featurebeschränkungen finden Sie unter Bearbeiten und Fortsetzen.
Nächste Schritte
In diesem Lernprogramm haben Sie gelernt, wie Sie den Debugger starten, Code durchlaufen und Variablen überprüfen. Möglicherweise möchten Sie einen allgemeinen Blick auf Debuggerfeatures sowie Links zu weiteren Informationen werfen.