4D v16.3

Befehle unterbrechen

Home

 
4D v16.3
Befehle unterbrechen

Befehle unterbrechen  


 

 

Mit der Seite Catch (Erkannte Befehle) des Runtime Explorers können Sie für Ihren Code zusätzliche Unterbrechungen setzen durch Unterbrechen der aufgerufenen 4D Befehle.

Unterbrechen Sie einen Befehl, können Sie die Ausführung jedes Prozesses im Schrittmodus durchlaufen, sobald dieser Prozess einen Befehl aufruft. Das Abfangen eines Befehls betrifft alle Prozesse, die 4D Code ausführen und diesen Befehl aufrufen. Ein Unterbrechungspunkt liegt dagegen in einer bestimmten Projektmethode und löst bei Unstimmigkeiten im Code den Schrittmodus nur aus, wenn dieser Punkt erreicht wird.

Das Unterbrechen eines Befehls ist zum Durchlaufen langer Code-Teile besser geeignet als an willkürlichen Stellen gesetzte Unterbrechungspunkte. Wird z.B. ein Datensatz, der nicht gelöscht werden soll, nach Ausführen eines oder mehrerer Prozesse gelöscht, können Sie versuchen, die Fehlersuche einzugrenzen, wenn Sie Befehle wie DELETE RECORD und DELETE SELECTION aufrufen. Immer wenn diese Befehle aufgerufen werden, können Sie prüfen, ob der betreffende Datensatz gelöscht wurde. So können Sie schnell den fehlerhaften Teil des Code isolieren.

Mit etwas Erfahrung können Sie Unterbrechungspunkte und Befehle unterbrechen kombinieren.

Um die Seite Catch zu öffnen:

  1. Wählen Sie im Menü Start den Eintrag Runtime Explorer.
    Der Runtime Explorer lässt sich in einem Palettenfenster anzeigen. Wählen Sie dazu den Eintrag Runtime Explorer bei gedrückter Umschalttaste. Weitere Informationen dazu finden Sie im Kapitel Runtime Explorer des Handbuchs 4D Designmodus.

    Auf dem Bildschirm erscheint das Fenster Runtime Explorer.
  2. Klicken Sie auf die Registerkarte Catch.
    Sie erhalten die Liste Erkannte Befehle:

Diese Seite zeigt die Befehle, die während der Ausführung unterbrochen werden. Sie besteht aus zwei Spalten:

  • Die linke Spalte zeigt den Status Aktiviert/Deaktiviert des gefundenen Befehls und den Befehlsnamen.
  • Die rechte Spalte zeigt -sofern vorhanden- die Bedingung, die diesem Befehl zugewiesen ist.

Um einen neuen Befehl hinzuzufügen:

Klicken Sie am unteren Rand auf das Pluszeichen. In der Liste wird ein neuer Eintrag hinzugefügt. Der Befehl ALERT ist standardmäßig vorgegeben.


Klicken Sie auf den Eintrag  ALERT und geben den Befehlsnamen ein, den Sie unterbrechen wollen. Betätigen Sie die Eingabetaste oder die Zeilenschaltung, um die Eingabe zu bestätigen.

Um den Namen eines unterbrochenen Befehls zu editieren

  1. Wählen Sie die Eingabe aus. Dazu klicken Sie entweder auf den Eintrag oder navigieren mit den Pfeiltasten durch die Liste, wenn der gerade ausgewählte Eintrag noch nicht editierbar ist.
  2. Um einen Eintrag vom Modus Bearbeiten in den Modus Auswählen zu bringen, drücken Sie die Eingabetaste oder die Zeilenschaltung.
  3. Geben Sie den Namen des Befehls ein oder ändern ihn.
  4. Betätigen Sie die Eingabetaste oder die Zeilenschaltung, um die Änderungen zu bestätigen.

Um einen unterbrochenen Befehl zu deaktivieren oder zu aktivieren:

Klicken Sie auf den Punkt vor dem Eintrag.
Auf diese Weise können Sie den Unterbrechungspunkt jeweils aktivieren oder deaktivieren

  • rot = aktiviert
  • orange = deaktiviert

Hinweis: Deaktivieren eines unterbrochenen Befehls ist fast dasselbe wie Löschen. Während der Ausführung benötigt der Debugger kaum Zeit bei der Eingabe. Deaktivieren eines Eintrags hat den Vorteil, dass sie ihn nicht neu erstellen müssen, falls sie ihn wieder benötigen.

Um einen unterbrochenen Befehl zu löschen:

  1. Wählen Sie die Eingabe aus. Dazu klicken Sie entweder auf den Eintrag oder navigieren mit den Pfeiltasten durch die Liste, wenn der gerade ausgewählte Eintrag noch nicht im Modus Bearbeiten ist.
  2. Betätigen Sie die Rückschritttaste oder die Löschtaste oder klicken Sie am unteren Rand auf die Schaltfläche Löschen.
  3. Um alle unterbrochenen Befehle zu löschen, klicken Sie am unteren Rand auf die Schaltfläche Alle Löschen.

Um eine Bedingung zum Unterbrechen eines Befehls zu setzen:

  1. Klicken Sie in der rechten Spalte in die Eingabe.
    Ein Cursor zur Eingabe erscheint
  2. Geben Sie eine 4D Formel (Ausdruck, Befehlsaufruf oder Projektmethode) ein, die einen Boolean Wert zurückgibt.

Hinweis: Wollen Sie eine Bedingung entfernen, löschen Sie die dazugehörige Formel.

Über eine Bedingung erreichen Sie, dass die Ausführung des Befehls nur gestoppt wird, wenn die Bedingung zutrifft. Setzen Sie z.B. die Bedingung "Records in selection([Emp]>10)" mit dem Unterbrechungspunkt auf den Befehl DELETE SELECTION, wird der Code während der Ausführung von DELETE SELECTION nicht gestoppt, wenn die aktuelle Auswahl der Tabelle [Emp] nur 9 Datensätze oder weniger enthält.

Unterbrochene Befehle mit einer Bedingung verlangsamen die Ausführung, da die Bedingung bei jedem Ausnahmefall geprüft werden muss. Eine Bedingung kann die Ausführung aber auch beschleunigen, da 4D alle Vorkommen, die nicht zur Bedingung passen, automatisch überspringt.



Siehe auch 

Fenster Debugger
Unterbrechungsliste
Unterbrechungspunkte

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Debugging

 
GESCHICHTE 

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)