Überblick zum Debuggen
Nach oben zu Anwendungen debuggen - Index
RAD Studio enthält einen Win32-Debugger. Die IDE verwendet automatisch den richtigen Debugger für den aktiven Projekttyp. Das plattformübergreifende Debuggen innerhalb einer Projektgruppe wird unterstützt. Die Benutzeroberfläche der Debugger ist größtenteils identisch.
Mit Hilfe der integrierten Debugger lassen sich sowohl Laufzeitfehler als auch Fehler in der Logik einer RAD Studio-Anwendung finden. Bei der Arbeit mit den Debuggern können Sie den Quelltext schrittweise durchlaufen, Haltepunkte und überwachte Ausdrücke festlegen sowie Programmwerte prüfen und bearbeiten. Wenn Sie eine Anwendung debuggen, unterstützen Sie die Debug-Fenster in einer Sitzung bei der Fehlersuche. Sie zeigen Informationen über den Status Ihrer Anwendung an.
Mit dem Debug-Inspektor können Sie verschiedene Datentypen, wie z.B. Arrays, Klassen, Konstanten, Funktionen, Zeiger, skalare Variablen und Interfaces, untersuchen. Sie öffnen den Debug-Inspektor mit Start > Untersuchen.
Diese Video-Demo des Debuggers bietet eine hilfreiche Übersicht.
Inhaltsverzeichnis |
Fehlersuche im Quelltext schrittweise ausführen
Wenn Sie Ihren Quelltext beim Debuggen schrittweise durchlaufen, führen Sie das Programm Codezeile für Codezeile aus. Sie können bei jedem Schritt den Programmstatus überprüfen, die Programmausgabe betrachten, Datenwerte des Programms ändern und dann mit der Ausführung der nächsten Codezeile fortfahren. Die nächste Codezeile wird erst dann ausgeführt, wenn Sie den Debugger dazu anweisen.
Das Menü Start enthält die Befehle Einzelne Anweisung und Gesamte Routine. Beide Befehle weisen den Debugger an, die nächste Codezeile auszuführen. Enthält die Zeile jedoch einen Funktionsaufruf, führt der Befehl Einzelne Anweisung die Funktion aus und hält an der ersten Codezeile innerhalb dieser Funktion an. Der Befehl Gesamte Routine führt die Funktion aus und hält an der ersten Zeile nach der Funktion an.
Auswerten/Ändern
Mit Auswerten/Ändern können Sie Ausdrücke auswerten und Variablenwerte ändern. Die Funktionalität von Auswerten/Ändern variiert je nach verwendeter Sprache.
- Bei einem C++-Projekt können im Dialogfeld Auswerten/Ändern nur C++-Ausdrücke eingegeben werden.
- Bei Delphi-Projekten sind im Dialogfeld Auswerten/Ändern nur Delphi-Ausdrücke zulässig.
Haltepunkte
Haltepunkte unterbrechen die Programmausführung an einem bestimmten Punkt im Programm oder bei Auftreten einer bestimmten Bedingung. Sie können dann mit dem Debugger den Status Ihres Programms untersuchen oder die gesamte Routine oder einzelne Anweisungen ausführen. Der Debugger unterstützt vier Arten von Haltepunkten.
- Quelltexthaltepunkte unterbrechen die Ausführung an einer bestimmten Position im Quelltext.
- Adresshaltepunkte unterbrechen die Ausführung an einer bestimmten Speicheradresse.
- Datenhaltepunkte unterbrechen die Ausführung, wenn sich der Speicher an einer bestimmten Adresse ändert. Datenhaltepunkte werden nur für den Win32-Debugger unterstützt. Datenhaltepunkte werden automatisch deaktiviert, wenn eine Debugger-Sitzung beendet ist, weil sich die Adresse einer Variablen von einer Debugger-Sitzung zur nächsten ändern kann. Um einen Datenhaltepunkt in einer nachfolgenden Debugger-Sitzung wiederzuverwenden, müssen Sie den Datenhaltepunkt nach Beginn der Debugger-Sitzung erneut aktivieren.
- Modulhaltepunkte unterbrechen die Ausführung, wenn das angegebene Modul geladen wird.
Informationen über das Erstellen, Ändern und Beibehalten von Haltepunkten finden Sie unter Haltepunkte setzen und bearbeiten.
Überwachte Ausdrücke
Überwachte Ausdrücke ermöglichen Ihnen, die Werte von Programmvariablen oder -ausdrücken zu verfolgen, während Sie mit dem Befehl Gesamte Routine oder Einzelne Anweisung den Quelltext durchlaufen. Während das Programm im Debugger läuft, ändert sich der Wert des überwachten Ausdrucks, sobald das Programm die Variablen der überwachten Ausdrücke aktualisiert.
Debug-Fenster
Die folgenden Debug-Fenster unterstützen Sie bei der Fehlersuche in einem Programm. Die meisten dieser Fenster werden automatisch angezeigt, wenn Sie eine Debug-Sitzung beginnen. Sie können die Fenster aber auch einzeln mithilfe der Optionen des Untermenüs Ansicht > Debug-Fenster anzeigen.
In jedem Fenster stehen ein oder mehrere Kontextmenüs zur Verfügung. Mit der Hilfe-Taste F1 können Sie detaillierte Informationen sowohl zu dem Fenster als auch zu den Kontextmenüs anzeigen.
| Debug-Fenster | Beschreibung |
|---|---|
|
Zeigt alle aktuell im Quelltext-Editor oder im Fenster CPU gesetzten Haltepunkte an. | |
|
Zeigt die aktuelle Sequenz der Funktionsaufrufe an. | |
|
Zeigt den aktuellen Wert überwachter Ausdrücke im Bereich des Ausführungspunkts an. | |
|
Zeigt die lokalen Variablen der aktuellen Funktion an. Damit lässt sich überwachen, wie das Programm Variablenwerte während der Programmausführung aktualisiert. | |
|
Zeigt Prozesse unter der Kontrolle des Debuggers und die aktuell von jedem Prozess geladenen Module an. Darüber hinaus wird eine hierarchische Darstellung der in der Anwendung benutzten Namespaces, Klassen und Methoden angezeigt. | |
|
Zeigt den Status aller Prozesse und Ausführungs-Threads an, die beim Debuggen in einer Anwendung ausgeführt werden. Dies ist besonders beim Debuggen von Multithread-Anwendungen hilfreich. In Windows Vista enthält die Ansicht Threads-Status die Spalte Wait Chain, die Blockierungen und Deadlocks von Threads aufführt. | |
|
Zeigt Meldungen zur Prozess-Steuerung, zu Haltepunkten, Ausgabe, Threads und Modulen an. | |
|
Zeigt den Low-Level-Status eines Programms an, einschließlich der Assembly-Anweisungen für jede Zeile des Quelltextes und des Inhalts bestimmter Register. | |
|
Zeigt den Inhalt der Gleitkommaeinheit und der SSE-Register des Prozessors an. |
Debug-Desktop einstellen
Wenn Sie Ihre Anwendung im Debug-Modus ausführen, können Sie den gespeicherten Desktop auswählen, den die IDE verwendet (F9 bei der Standardtastaturbelegung). Um den Debug-Desktop festzulegen, wählen Sie entweder Ansicht > Desktops > Debug-Desktop einstellen oder klicken in der Desktop-Symbolleiste auf
.
Externe Fehlersuche
Mit dem externen Debugger können Sie eine Anwendung debuggen, die sich auf einem externen Computer befindet. Ihr Computer muss über eine TCP/IP-Verbindung mit dem externen Computer verbunden sein. Außerdem muss der externe Debugger auf dem externen Computer installiert sein. Nachdem die erforderlichen Anwendungsdateien erstellt und auf den externen Computer kopiert wurden, können Sie eine Verbindung zu diesem Computer herstellen und mit dem Debuggen beginnen.
Siehe auch
- Video: CodeRage-Demo des Debuggers
- Überblick zum externen Debugger
- Das Projekt zum Debuggen vorbereiten
- Haltepunkte setzen und bearbeiten
- Ausdruck hinzufügen
- Variablenausdrücke bearbeiten
- Werte von Datenelementen untersuchen und ändern
- Debuggen externer Anwendungen
- Mit einem ausgeführten Prozess verbinden