Bereich Source Code

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

Version 6.5 (Geändert)


Der Bereich Source Code zeigt den Source Code für die Methode, die im Schrittmodus durchlaufen wird.

Ist die Methode zu lang für den angezeigten Textbereich, können Sie nach oben und unten scrollen.

Bewegen Sie den Mauszeiger auf einen bewertbaren Ausdruck (Datenfeld, Variable, Zeiger, Array,...), erscheint ein Hilfetext (Tool Tip), der den aktuellen Wert des Objekts oder Ausdrucks und den zugewiesenen Typ anzeigt.

Hier ein Beispiel des Bereichs Source Code:

Ein Hilfetext erscheint, da der Mauszeiger Über die Variable pTable gezogen wurde. Er zeigt an, dass die Variable ein Zeiger auf die Tabelle [Customers] ist.

Tipp: Klicken Sie im Bereich Source Code auf einen bewertbaren Ausdruck, wird der Ausdruck oder das Objekt in den Bereich individuelle Überprüfung kopiert.

Sie können im Bereich, der den Code in der Ausführung anzeigt, auch einen Teil des Textes auswählen. Setzen Sie den Cursor über den ausgewählten Text, zeigt ein Tip den Wert des ausgewählten Objekts an:

Klicken Sie auf einen Variablen- oder Feldnamen, wird er automatisch ausgewählt.

Tipp: Sie können auch einen beliebigen ausgewählten Ausdruck -der bewertbar ist- aus dem Bereich Source-Code in den Bereich Individuelle Überprüfung kopieren. Es gibt folgende Möglichkeiten:

Sie klicken unter Windows bei gedrückter ctrl-Taste, auf Macintosh bei gedrückter Befehlstaste auf den ausgewählten Text.

Sie betätigen unter Windows die Tastenkombination ctrl+D, auf Macintosh die Tastenkombination Befehlstaste+D .

Programmzähler


Ein gelber Pfeil am linken Rand des Bereichs Source Code (siehe oben) markiert die Zeile, die als nächstes ausgeführt wird. Das ist der Programmzähler. Er gibt immer an, welche Zeile als nächste ausgeführt wird.

Sie können den Programmzähler bei der Fehlersuche für die Methode verschieben, die gerade ausgeführt wird, also auf der obersten Ebene der Aufrufsfolge liegt.

WARNUNG: Nutzen Sie dieses Feature mit Vorsicht!

Das Vorwärtsstellen des Programmzählers bedeutet NICHT, dass der Debugger die übersprungenen Zeilen schneller ausführt. Genausowenig bedeutet das Zurücksetzen des Programmzählers, dass der Debugger die Auswirkung der bereits ausgeführten Zeilen rückgängig macht.

Das Bewegen des Programmzählers bedeutet lediglich, dass der Debugger ab hier mit dem Schrittmodus fortfahren soll. Alle aktuellen Einstellungen, Datenfelder, Variablen usw. sind davon nicht betroffen.

Hier ein Beispiel. Wir gehen von folgendem Code aus:

      ` ...
   If (This condition)
      DO SOMETHING
   Else
      DO SOMETHING ELSE
   End if
      ` ...

Der Programmzähler wird vor die Zeile If (This condition) gesetzt. Sie gehen einen Schritt, der Programmzähler wird nun vor die Zeile DO SOMETHING ELSE gesetzt. Das ist unglücklich, denn Sie wollten auch die andere Alternative ausführen. Führt der Ausdruck This condition keine Operationen aus, die die nächsten Schritte Ihrer Überprüfung beeinflussen, können Sie den Programmierzähler auf die Zeile DO SOMETHING zurücksetzen, um diesen Teil im Schrittmodus zu durchlaufen.

Unterbrechungspunkte setzen


Während der Fehlersuche müssen Sie manchmal den Schrittmodus für einige Teile des Code überspringen. Der Debugger bietet mehrere Möglichkeiten, den Code bis zu einem gewissen Punkt auszuführen:

Sie können beim Durchlaufen im Schrittmodus auf die Schaltfläche Step Over anstatt auf Step Into klicken. Das ist sinnvoll, wenn Sie in evtl. vorhandene Unterroutinen oder Funkionen gehen wollen, die innerhalb einer Programmierzeile aufgerufen werden.

Sind Sie versehentlich in eine Unterroutine gegangen, können Sie diese ausführen und gelangen durch Anklicken der Schaltfläche Step Out direkt zurück in die aufrufende Methode.

Haben Sie an irgendeiner Stelle einen Aufruf TRACE eingebaut und Sie klicken auf die Schaltfläche Weiter, wird die Ausführung bis zu diesem Aufruf fortgeführt.

Sie führen beispielsweise folgenden Code aus. Der Programmzähler steht vor der Zeile ALL RECORDS([ThisTable]):

      ` ...
   ALL RECORDS([ThisTable])
   $vrResult:=0
   For($vlRecord;1;Records in selection([ThisTable]))
      $vrResult:=This Function([ThisTable]))
      NEXT RECORD([ThisTable])
   End for
   If ($vrResult>=$vrLimitValue)
      ` ...

Sie möchten den Wert von $vrResult prüfen, nachdem die For-Schleife abgeschlossen ist. Da es jedoch eine geraume Zeit dauert, bis Sie diesen Punkt in Ihrem Code erreichen, wollen Sie die akuelle Ausführung abbrechen, um in der Methode vor der Zeile If ($vrResult... einen Aufruf TRACE einzufügen.

Eine Möglichkeit wäre, die Schleife zu durchlaufen. Enthält die Tabelle [ThisTable] jedoch hunderte von Datensätzen, dauert das einen ganzen Tag. Für solche Fälle bietet der Debugger Unterbrechungspunkte. Sie setzen Unterbrechungspunkte, wenn Sie in den linken Rand des Bereichs Source Code klicken.

Zum Beispiel:

Sie klicken in Höhe der Zeile If ($vrResult... in den linken Rand des Bereichs Source Code:

Neben dieser Zeile wird ein Unterbrechungspunkt gesetzt. Er erscheint als roter Punkt. Klicken Sie auf die Schaltfläche Weiter.

Die normale Ausführung läuft nun bis zu diesem Unterbrechungspunkt. Die markierte Zeile wird nicht ausgeführt—Sie sind wieder im Schrittmodus. In diesem Beispiel wurde folglich die gesamte Schleife normal ausgeführt. Sobald der Unterbrechungspunkt erreicht wird, müssen Sie lediglich die Maustaste über $vrResult ziehen, um den Wert am Endpunkt der Schleife zu prüfen.

Setzen Sie einen Unterbrechungspunkt außerhalb des Programmzählers und klicken Sie auf die Schaltfläche Weiter, können Sie Teile der Methode überspringen, die im Schrittmodus durchlaufen wird.

Hinweis: Sie können Unterbrechungspunkte auch direkt im 4D Methodeneditor setzen. Weitere Informationen dazu finden Sie im Abschnitt Unterbrechungspunkte.

Ein roter Unterbrechungspunkt ist ein ständiger Unterbrechungspunkt. Er bleibt, sobald er angelegt wurde und das selbst dann, wenn Sie die Datenbank verlassen und später wieder öffnen.

Es gibt zwei Möglichkeiten, ständige Unterbrechungspunkte zu entfernen:

Haben Sie den Unterbrechungspunkt bearbeitet, klicken Sie auf den roten Punkt, um ihn zu entfernen—der Unterbrechungspunkt verschwindet.

Haben Sie den Unterbrechungspunkt nicht vollständig bearbeitet, wollen ihn also noch weiter behalten, können Sie ihn vorübergehend deaktivieren. Weitere Informationen dazu finden Sie im Abschnitt Unterbrechungspunkte.

Referenz

Bereich Aufrufsfolge, Bereich individuelle Überprüfung, Bereich Überprüfung, Debugger, Einführung, Unterbrechungspunkte.


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