Unterbrechen der Programmausführung
Haltepunkte ermöglichen die Unterbrechung der Programmausführung. Nach der Unterbrechung können Sie die Werte von Variablen und Eigenschaften prüfen, Umgebungseinstellungen anzeigen und Codeabschnitte zeilenweise überprüfen, ohne den gesamten Code schrittweise abzuarbeiten.
Tipp Sie können die Ausführung eines im Programmverfolgungsfenster angezeigten Programms auch durch Drücken von ESC unterbrechen.
Unterbrechen der Ausführung bei einer Codezeile
Es gibt verschiedene Möglichkeiten, zur Unterbrechung der Programmausführung Haltepunkte im Code festzulegen. Wenn Sie bereits wissen, wo die Programmausführung unterbrochen werden soll, können Sie direkt in dieser Codezeile einen Haltepunkt festlegen.
So legen Sie einen Haltepunkt in einer bestimmten Codezeile fest
Suchen Sie im Programmverfolgungsfenster die Codezeile, in der Sie den Haltepunkt festlegen möchten, und führen Sie eine der folgenden Aktionen aus:
Positionieren Sie den Cursor in der Codezeile.
Drücken Sie F9, oder klicken Sie in der Debugger-Symbolleiste auf die Schaltfläche Haltepunkt ein/aus.
- Oder -
- Doppelklicken Sie in den grauen Bereich links der Codezeile.
Im grauen Bereich wird dann ein Punkt angezeigt, der darauf hinweist, dass auf dieser Zeile ein Haltepunkt festgelegt wurde.
Tipp Wenn Sie Objekte debuggen, können Sie im Verfolgungsfenster bestimmte Codezeilen suchen. Dafür wählen Sie das Objekt aus der Liste Objekt und die Methode oder das Ereignis aus der Liste Prozedur aus.
Sie können auch Haltepunkte festlegen, indem Sie im Dialogfeld Haltepunkte Position und Datei angeben.
Beispiele für Positionen und Dateien für Haltepunkte
Ort | Datei | Unterbrechen der Ausführung |
---|---|---|
|
C:\Myapp\Main.prg | Die erste ausführbare Zeile einer Prozedur namens ErrHandler in Main.prg. |
|
C:\Myapp\Main.prg | Die zehnte Zeile im Programm namens Main . |
|
C:\Myapp\Form.scx | Die erste ausführbare Zeile einer Prozedur, Funktion, Methode oder eines Ereignisses namens Click in Form.scx. |
|
C:\Myapp\Form.scx | Die erste mit dem Ereignis Click von cmdNext in Form.scx assoziierte ausführbare Zeile. |
|
Die erste ausführbare Zeile im Ereignis Click eines beliebigen Steuerelements in einer beliebigen Datei, dessen übergeordnete Klasse cmdNext heißt. |
Unterbrechen der Ausführung bei Veränderungen von Werten
Wollen Sie wissen, wann sich der Wert einer Variablen oder Eigenschaft oder die Laufzeitbedingungen ändern, können Sie einen Haltepunkt für einen Ausdruck festlegen.
So unterbrechen Sie die Programmausführung, wenn sich der Wert eines Ausdrucks ändert
- Wählen Sie im Debugger-Fenster aus dem Menü Extras den Befehl Haltepunkte, um das Dialogfeld Haltepunkte zu öffnen.
- Wählen Sie Halten, wenn Ausdruck verändert wurde aus der Liste Typ.
- Geben Sie im Feld Ausdruck den Ausdruck ein.
Beispiele für Haltepunktausdrücke
Ausdruck | Verknüpfungsart |
---|---|
|
Die Ausführung wird unterbrochen, wenn der Datensatzzeiger in der Tabelle verschoben wird. |
|
Die Ausführung wird in der ersten Zeile eines neuen Programms oder Ereignisses bzw. einer neuen Prozedur oder Methode unterbrochen. |
|
Die Ausführung wird jedes Mal unterbrochen, wenn der Wert dieser Eigenschaft interaktiv oder programmgesteuert geändert wird. |
Bedingtes Unterbrechen der Ausführung
Häufig wird die Programmunterbrechung nicht bei einer bestimmten Zeile, sondern beim Eintreten einer bestimmten Bedingung gewünscht.
So unterbrechen Sie die Programmausführung, wenn ein Ausdruck als wahr ausgewertet wird
- Wählen Sie im Debugger-Fenster aus dem Menü Extras den Befehl Haltepunkte, um das Dialogfeld Haltepunkte zu öffnen.
- Wählen Sie Halten, wenn Ausdruck wahr ist aus der Liste Typ.
- Geben Sie im Feld Ausdruck den Ausdruck ein.
- Wählen Sie Hinzufügen, um den Haltepunkt der Liste Haltepunkte hinzuzufügen.
Beispiele für Haltepunktausdrücke
Ausdruck | Verknüpfungsart |
---|---|
|
Die Ausführung wird unterbrochen, wenn der Datensatzzeiger hinter den letzten Datensatz der Tabelle verschoben wurde. |
|
Die Ausführung wird bei der ersten mit einem Click- oder DblClick-Ereignis assoziierten Codezeile unterbrochen. |
|
Wird der Rückgabewert eines Meldungsfeldes in nReturnValue gespeichert, so wird die Ausführung unterbrochen, wenn der Benutzer im Meldungsfeld Ja wählt. |
Bedingtes Unterbrechen der Ausführung bei einer Codezeile
Sie können festlegen, dass die Ausführung bei einer bestimmten Codezeile nur dann unterbrochen wird, wenn eine bestimmte Bedingung zutrifft.
So unterbrechen Sie die Programmausführung bei einer bestimmten Codezeile, wenn ein Ausdruck wahr ist
Wählen Sie im Debugger-Fenster aus dem Menü Extras den Befehl Haltepunkte, um das Dialogfeld Haltepunkte zu öffnen.
Wählen Sie Halten an Position, wenn Ausdruck wahr ist aus der Liste Typ.
Geben Sie im Feld Position die Position ein.
Geben Sie im Feld Ausdruck den Ausdruck ein.
Wählen Sie Hinzufügen, um den Haltepunkt der Liste Haltepunkte hinzuzufügen.
Wählen Sie OK.
Tipp Mitunter ist es einfacher, die Codezeile im Programmverfolgungsfenster zu suchen, einen Haltepunkt festzulegen und diesen dann im Dialogfeld Haltepunkte zu bearbeiten. Ändern Sie dazu den Typ von Halten an Position nach Halten an Position, wenn Ausdruck wahr ist, und fügen Sie dann den Ausdruck hinzu.
Entfernen von Haltepunkten
Sie können im Dialogfeld Haltepunkte Haltepunkte deaktivieren, ohne diese zu entfernen. Im Programmverfolgungsfenster können Sie Haltepunkte des Typs Halten an Position löschen.
So entfernen Sie einen Haltepunkt aus einer bestimmten Codezeile
Suchen Sie im Programmverfolgungsfenster den Haltepunkt, und führen Sie dann eine der folgenden Aktionen aus:
Positionieren Sie den Cursor in der Codezeile, und wählen Sie aus der Debugger-Symbolleiste die Schaltfläche Haltepunkt ein/aus.
- Oder -
Doppelklicken Sie in den grauen Bereich links der Codezeile.
Siehe auch
Isolieren von Problemen | Anzeigen von gespeicherten Werten | Testen und Debuggen von Anwendungen | Ausgabeanzeige | Programmverfolgungsfenster | Debugger-Fenster