Das folgende Diagramm zeigt ein typisches Debugziel in der Sicht 'Debug':

In der Sicht 'Debug' werden Starts, die zum Starten der Debugsitzung für das Programm verwendet werden, auf der obersten Knotenebene angezeigt (Zeiger A. im Diagramm). Unter dem Start wird ein Knoten angezeigt, der die Debugsteuerkomponente darstellt (Zeiger B. im Diagramm). Dann wird jeder Thread Ihres Programms angezeigt (Zeiger C. im Diagramm). Wenn die Programmausführung gestoppt wird, wird standardmäßig der Knoten des betreffenden Threads automatisch erweitert, sodass seine Stack-Frames angezeigt werden (Zeiger D. im Diagramm). Wenn Sie manuell andere Threads erweitern, werden diese Threads beim nächsten Aussetzen des Programms automatisch erweitert. Schließlich wird ein Knoten angezeigt, der den Prozess und das Programm darstellt, für die der Debug ausgeführt wird (Zeiger E. im Diagramm).
Wenn die Programmausführung ausgesetzt wird, wird die Quelle für den ausgewählten Stack-Frame im Editor geöffnet, wobei die Zeile im Quellcode, vor deren Ausführung das Programm gerade steht, hervorgehoben wird. Wenn es in dem Programm viele Threads gibt, befindet sich der Thread, der den Stopp verursacht hat, möglicherweise unten außerhalb des Debugfensters.
Die Sicht 'Debug' kann außerdem zum Definieren des Debuggerdämons verwendet werden. Informationen dazu enthält der Abschnitt zur Empfangsbereitschaft für Debugsteuerkomponenten.
Diese grundlegenden Debugaktionen können Sie in der Sicht 'Debug' ausführen:
) oder drücken Sie
F8.
) oder drücken Sie
Umschalt+F8 - oder klicken Sie mit der rechten Maustaste auf das Debugziel (oder einen seiner
Threads oder Stacks), das Sie beenden möchten, und wählen Sie eine der Aktionen zum Beenden aus.
).
Diese Aktion steht möglicherweise nicht zur Verfügung. Dies ist davon abhängig, wie das Programm,
für das Sie das Debug ausführen, gestartet wurde.
) (Strg+F8).
Wenn der Prozess bei der Verwendung dieser Aktion ausgewählt wird, werden alle
Threads des Prozesses gestoppt. Wenn Ihre Debugsteuerkomponente das Aussetzen und Wiederaufnehmen
einzelner Threads unterstützt und ein Thread ausgewählt wird, wird nur dieser
Thread gestoppt. Diese Unterstützung ist nur verfügbar, wenn Sie Version 11.1 oder eine spätere
Version der Debugsteuerkomponente verwenden. Der Thread/die Threads in der Anwendung wird/werden
ausgesetzt, bis Sie eine Aktion Wieder aufnehmen aufrufen.
Wenn Sie eine Aktion zum Aussetzen aufrufen, sendet die Debugsteuerkomponente das Signal
SIGSTOP an das Programm, für das Sie das Debug ausführen.Das Stoppen ist nützlich, wenn es um einen nicht mehr steuerbaren Prozess geht, der ausgeführt wird, aber auf keinen Unterbrechungspunkt trifft. Sie können dann wieder die Kontrolle über die Anwendung übernehmen, indem Sie sie stoppen. Wenn Sie ein Programm stoppen, wird es normalerweise in der Deassemblierungssicht im Editor gestoppt.
Wenn ein Thread ausgesetzt wird, können die Step-Steuerelemente dazu verwendet werden, die Ausführung des Programms schrittweise Zeile für Zeile durchzugehen. Wenn während einer Step-Operation ein Unterbrechungspunkt oder ein Ereignis angetroffen wird, wird die Ausführung bei dem Unterbrechungspunkt bzw. Ereignis ausgesetzt und die Step-Operation wird beendet. Mit Step-Befehlen können Sie Ihr Programm instruktions- oder positionsweise durchgehen.
Die folgenden Step-Befehle sind verfügbar:
)(F6): Wenn
Sie Step Over verwenden, geht das Programm zur nächsten Zeile im Quellcode.
)(F5): Wenn
Sie Step Into verwenden, geht das Programm zum nächsten Anweisung. Wenn sich in der aktuellen
Zeile ein Aufruf einer anderen Funktion befindet, stoppt der Debugger in dieser Funktion.Das Verhalten dieses
Befehls wird durch die Aktion Step-Filter verwenden beeinflusst
(
)(Umschalt+F5). Wenn
der Filter ausgeschaltet ist (Schaltfläche nicht ausgewählt), stoppt der Debugger auch dann in einer aufgerufenen Funktion,
wenn sie keine Debuginformationen enthält und die Disassemblierung angezeigt werden muss. Wenn der Filter eingeschaltet ist
(Schaltfläche ausgewählt), stoppt der Debugger nur dann in der aufgerufenen Funktion, wenn die Quelle
angezeigt werden kann. Wenn die Quelle nicht angezeigt werden kann, verhält er sich so, als hätten Sie
Step Over angegeben.
Die Umgebungsvariable DER_DBG_ STEP_DEBUG für die Debugsteuerkomponente beeinflusst
die Aktion Step-Filter verwenden.
Informationen zu den Umgebungsvariablen für die Debugsteuerkomponente enthält
der zugehörige Abschnitt.
)(F7):
Wenn Sie Step Return verwenden, wird Ihr Programm bis zu dem Punkt im aufrufenden Programm direkt
nach dem Aufruf der aktuellen Funktion ausgeführt. Normalerweise wird an der Position gestoppt, die
der aufrufenden Instruktion folgt. Wenn das aufrufende Programm Debuginformationen enthält,
kann dies auch mitten in einer Zeile im Quellcode sein.