Freigeben über


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:

  1. Positionieren Sie den Cursor in der Codezeile.

  2. 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
ErrHandler
C:\Myapp\Main.prg Die erste ausführbare Zeile einer Prozedur namens ErrHandler in Main.prg.
Main,10
C:\Myapp\Main.prg Die zehnte Zeile im Programm namens Main.
Click
C:\Myapp\Form.scx Die erste ausführbare Zeile einer Prozedur, Funktion, Methode oder eines Ereignisses namens Click in Form.scx.
cmdNext.Click
C:\Myapp\Form.scx Die erste mit dem Ereignis Click von cmdNext in Form.scx assoziierte ausführbare Zeile.
cmdNext::Click
  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

  1. Wählen Sie im Debugger-Fenster aus dem Menü Extras den Befehl Haltepunkte, um das Dialogfeld Haltepunkte zu öffnen.
  2. Wählen Sie Halten, wenn Ausdruck verändert wurde aus der Liste Typ.
  3. Geben Sie im Feld Ausdruck den Ausdruck ein.

Beispiele für Haltepunktausdrücke

Ausdruck Verknüpfungsart
RECNO( )
Die Ausführung wird unterbrochen, wenn der Datensatzzeiger in der Tabelle verschoben wird.
PROGRAM( )
Die Ausführung wird in der ersten Zeile eines neuen Programms oder Ereignisses bzw. einer neuen Prozedur oder Methode unterbrochen.
myform.Text1.Value
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

  1. Wählen Sie im Debugger-Fenster aus dem Menü Extras den Befehl Haltepunkte, um das Dialogfeld Haltepunkte zu öffnen.
  2. Wählen Sie Halten, wenn Ausdruck wahr ist aus der Liste Typ.
  3. Geben Sie im Feld Ausdruck den Ausdruck ein.
  4. Wählen Sie Hinzufügen, um den Haltepunkt der Liste Haltepunkte hinzuzufügen.

Beispiele für Haltepunktausdrücke

Ausdruck Verknüpfungsart
EOF( )
Die Ausführung wird unterbrochen, wenn der Datensatzzeiger hinter den letzten Datensatz der Tabelle verschoben wurde.
'CLICK'$PROGRAM( )
Die Ausführung wird bei der ersten mit einem Click- oder DblClick-Ereignis assoziierten Codezeile unterbrochen.
nReturnValue = 6
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

  1. Wählen Sie im Debugger-Fenster aus dem Menü Extras den Befehl Haltepunkte, um das Dialogfeld Haltepunkte zu öffnen.

  2. Wählen Sie Halten an Position, wenn Ausdruck wahr ist aus der Liste Typ.

  3. Geben Sie im Feld Position die Position ein.

  4. Geben Sie im Feld Ausdruck den Ausdruck ein.

  5. Wählen Sie Hinzufügen, um den Haltepunkt der Liste Haltepunkte hinzuzufügen.

  6. 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