Debugger, Einführung

4D - Documentation   Français   English   German   English   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 6.5 (Geändert)


Der Begriff Debugger kommt von Bug. Ein Bug in einer Methode ist ein Fehler, den Sie beheben wollen. Sie verwenden den Debugger, wenn ein Fehler aufgetreten ist oder Sie die Ausführung Ihrer Methoden überwachen müssen. Der Debugger unterstützt Sie bei der Fehlersuche, sie können damit Ihre Methoden langsam durchlaufen und den Inhalt überprüfen. Dieser Prozess heißt Schrittmodus.

Der Debugger zeigt Methoden auf folgende Weise an bzw. durchläuft sie im Schrittmodus:

Sie klicken im Fenster Syntaxfehler auf die Schaltfläche Schritt

Sie benutzen den Befehl TRACE

Sie klicken im Fenster Methode ausführen auf die Schaltfläche Schritt.

Sie betätigen während der Methodenausführung die Kombination Alt+Umschalttaste+Rechte Maustaste, auf Macintosh die Kombination Ctrl+Wahl-+Befehlstaste+Mausklick, und dann im PopUp-Menü den Prozess, der im Schrittmodus überprüft werden soll.

Sie klicken bei ausgewähltem Prozess im Runtime Explorer auf der Seite Prozess auf die Schaltfläche Schritt.

Sie erstellen oder bearbeiten einen Unterbrechungspunkt im Fenster Methodeneditor oder in den Registerkarten Unterbrechung und Unterbrechungspunkt des Runtime Explorer .

Hinweis: Ist die Datenbank mit einem Kennwort versehen, können nur Designer und Benutzer mit Zugriffsberechtigung auf die Struktur den Schrittmodus auf Methoden anwenden.

Das Fenster Debugger sieht folgendermaßen aus:

Sie können dieses Fenster bewegen sowie die darin enthaltenen Bereiche bei Bedarf vergrößern. Ein neues Debugger-Fenster wird mit derselben Konfiguration wie das zuletzt geöffnete Fenster derselben Sitzung angezeigt (Größe und Position des Fensters, Anordnung der Trennungslinien und Inhalt des Bereichs, der die Ausdrücke bewertet.)

Da 4D multitaskingfähig ist, können Sie auch mehrere Prozesse voneinander unabhängig im Schrittmodus durchlaufen. Sie können für jeden Prozess ein Fenster Debugger öffnen.

Schaltflächen der Steuerleiste


Am oberen Rand des Fensters Debugger befindet sich eine Steuerleiste mit neun Schaltflächen:

Schaltfläche Weiter ohne Schritt

Der Schrittmodus wird angehalten, die Methodenausführung wird fortgesetzt.

Hinweis: Großschreibtaste+F5 oder Großschreibtaste+Klick fasst die Ausführung zusammen. Dadurch werden für den aktuellen Prozess auch alle folgenden Aufrufe von Schritt deaktiviert.

ALT+F5 unter Windows, bzw. Wahl-/Befehlstaste+R auf Macintosh setzt die Ausführung fort.

Schaltfläche Abbrechen

Die Methode wird angehalten, Sie kehren zur Stelle vor Ausführung der Methode zurück. Wird eine Formular- oder Objektmethode gestoppt, die als Folge eines Ereignisses ausgeführt wird, kehren Sie zum Formular zurück. Läuft die Methode in der Runtime-Umgebung ab, kehren Sie zur Anwendungsumgebung zurück.

Schaltfläche Abbrechen und Bearbeiten

Die Methode wird angehalten, als ob Sie auf Abbrechen geklickt hätten. 4D öffnet den Methodeneditor für die Methode, die bei Anklicken der Schaltfläche Abbrechen und Bearbeiten ausgeführt wurde.

Tipp: Verwenden Sie diese Schaltfläche, wenn Sie wissen, welche Änderungen in Ihrem Code erforderlich sind und Sie diese Änderungen für das weitere Testen Ihrer Methoden benötigen. Führen Sie die Änderungen aus und starten Sie erneut die Methode.

Schaltfläche Bearbeiten

Klicken Sie auf die Schaltfläche Bearbeiten, wird die aktuelle Ausführung im Unterschied zur Schaltfläche Abbrechen und Bearbeiten nicht abgebrochen. Die Methodenausführung pausiert an dieser Stelle. 4D öffnet dann den Methodeneditor für die Methode, die bei Anklicken der Schaltfläche Bearbeiten ausgeführt wurde.

Wichtig: Sie können diese Methode ändern; die Änderungen erscheinen jedoch nicht unmittelbar in der Methode, die gerade im Debugger-Fenster durchlaufen wird, sondern erst bei der nächsten Ausführung der Methode. D.h. die Änderungen werden erst berücksichtigt, wenn die Methode abgebrochen oder erfolgreich abgeschlossen und erneut geladen wurde.

Tipp: Verwenden Sie diese Schaltfläche, wenn Sie wissen, welche Änderungen in Ihrem Code erforderlich sind und diese nicht mit dem Rest des auszuführenden Code interferieren.

Tipp: Objektmethoden werden für jedes Ereignis erneut geladen. Durchlaufen Sie eine Objektmethode im Schrittmodus (z.B. als Folge eines Klicks auf eine Schaltfläche), müssen Sie das Formular nicht verlassen. Sie können die Objektmethode bearbeiten, die Änderungen sichern und dann zurückwechseln zum Formular und die Methode erneut testen. Wollen Sie Formularmethoden ändern bzw. im Schrittmodus durchlaufen, müssen Sie das Formular verlassen und erneut öffnen, um das Formular wieder zu laden. Bei extensiver Fehlersuche für ein Formular gibt es einen Trick. Setzen Sie den Code, der im Schrittmodus getestet wird, in eine Projektmethode, die Sie als Unterroutine in einer Formularmethode verwenden. Auf diese Weise können Sie im Formular bleiben, wenn Sie es im Schrittmodus durchlaufen, bearbeiten und erneut testen. Denn die Unterroutine wird jedes Mal erneut geladen, wenn sie von einer Formularmethode aufgerufen wird.

Schaltfläche Sichere Einstellungen

Sichert die aktuelle Konfiguration des Debugger Fensters (Größe und Position des Fensters, Anordnung der Trennungslinien und Inhalt des Bereichs zur Bewertung der Ausdrücke. Diese Einstellungen werden dann bei jedem Öffnen der Datenbank standardmäßig verwendet. Sie werden in der Strukturdatei der Datenbank gespeichert.

Schaltfläche Step Over

Die aktuelle Methodenzeile wird ausgeführt (Sie ist mit einem gelben Pfeil, dem Programmzähler, markiert), der Debugger wechselt in die nächste Zeile. Die Schaltfläche Step Over springt nicht in Unterroutinen und Funktionen; sie bleibt auf der Ebene der Methode, die gerade durchlaufen wird. Die Unterroutine wird in einem Stück abgearbeitet, ohne dass der Debugger dies anzeigt.

Schaltfläche Step Into

Beim Ausführen einer Zeile, die eine andere Methode aufruft (Unterroutine oder Funktion), wird diese Methode im Debugger Fenster angezeigt. Sie können nun diese Methode im Schrittmodus durchlaufen. Diese Methode wird im Bereich Aufrufsfolge des Debugger Fensters zur aktuellen Methode. Wird bei Ausführen einer Methode keine andere Methode aufgerufen, funktioniert diese Schaltfläche wie die Schaltfläche Step Over.

Schaltfläche Step Into Process

Beim Ausführen einer Zeile, die einen neuen Prozess erzeugt (z.B. Aufruf des Befehls New process) öffnet diese Schaltfläche ein neues Debugger Fenster. Darin können Sie die Prozessmethode des neu erzeugten Prozesses im Schrittmodus durchlaufen. Wird bei Ausführen einer Methode kein neuer Prozess erzeugt, funktioniert diese Schaltfläche wie die Schaltfläche Step Over.

Schaltfläche Step Out

Klicken Sie beim Durchlaufen von Unterroutinen und Funktionen auf diese Schaltfläche, können Sie die gesamte Methode, die gerade im Schrittmodus durchlaufen wird, ausführen und zur aufrufenden Methode zurückkehren. Das Debugger Fenster wird auf die vorherige Methode der Aufrufsfolge zurückgesetzt. Ist die aktuelle Methode die letzte Methode in der Aufrufsfolge, wird das Debugger Fenster geschlossen.

Hinweis: Durchlaufen Sie einen Prozess, der Code ausführt, erscheint sofort das Debugger-Fenster. Durchlaufen Sie dagegen einen Prozess, der läuft, aber keinen Code ausführt (schläft, wartet auf Ereignis...), speichert 4D die Anforderung des Debugger-Fensters. Es erscheint, sobald der Prozess die Code-Ausführung abgeschlossen hat.

Information zur Steuerleiste

Rechts neben der Steuerleiste zeigt der Debugger folgende Information an:

Den Namen der Methode, die gerade im Schrittmodus durchlaufen wird. Er erscheint in schwarz.

Das Problem, welches das Erscheinen des Debugger Fensters hervorruft. Es erscheint in rot.

Angewendet auf das oben angezeigte Beispielfenster erscheinen folgende Informationen:

Die Methode DE_DebugDemo wird im Schrittmodus durchlaufen.

Das Debugger Fenster erscheint, weil es einen Aufruf des Befehl C_DATE festgestellt hat und dieser Befehl ein Überwachungsbefehl ist.

Nachfolgende Liste zeigt die möglichen Gründe für das Erscheinen des Debuggers und der Meldung. Sie erscheint in rot:

Befehl TRACE: Ein Aufrufen von TRACE wurde ausgelöst.

Erreichen eines Unterbrechungspunktes: Ein temporärer oder dauerhafter Unterbrechungspunkt wurde gefunden.

Benutzerunterbrechung: Sie haben die Tastenkombination ALT+Großschreibtaste+Klick unter Windows, bzw. ctrl+Wahltaste+Befehl+Klick auf Macintosh gedrückt oder in der Designumgebung im Runtime Explorer auf der Seite Prozess auf die Schaltfläche Schritt geklickt.

Aufrufen eines Überwachungsbefehls: Befehlsname: Ein 4D Überwachungsbefehl wurde aufgerufen.

 Wechseln in einen neuen Prozess: Sie haben auf die Schaltfläche Step Into Process geklickt. Diese Meldung wird vom für den neu erzeugten Prozess geöffneten Debugger Fenster angezeigt.

Die Bereiche des Debugger Fensters

Das Debugger Fenster enthält die bereits beschriebene Steuerfläche sowie vier Bereiche, die Sie in der Größe verändern können:

Bereich Überprüfung

Bereich Aufrufsfolge

Bereich individuelle Überprüfung

Bereich Source Code

Die drei ersten Bereiche enthalten hierarchische Listen zum Navigieren und Anzeigen beständiger Debugging Informationen. Der vierte Bereich Source Code zeigt den Source Code der Methode, die im Schrittmodus durchlaufen wird. Jeder Bereich unterstützt Sie bei der Fehlersuche mit spezifischen Informationen. Mit der Maus können Sie das gesamte Debugger Fenster sowie jeden Bereich einzeln vertikal und horizontal vergrößern. Die drei oberen Bereiche sind in zwei Spalten mit Trennungslinie unterteilt, die Sie mit der Maus beliebig verschieben können.

Referenz

Befehle unterbrechen, Bereich Aufrufsfolge, Bereich individuelle Überprüfung, Bereich Source Code, Bereich Überprüfung, Fenster Syntaxfehler, ON ERR CALL, Tastenkürzel des Debuggers, TRACE, Unterbrechungsliste, Wozu dient ein Debugger? .


4D - Documentation   Français   English   German   English   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next