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

Version 11 (Geändert)


Beim Entwickeln und Testen Ihrer Methoden ist es wichtig, dass Sie evtl. darin enthaltene Fehler finden und beheben können.

Beim Programmieren gibt es verschiedene Fehlerarten: Tippfehler, Syntax- oder Ablauffehler, Strukturfehler oder logische Fehler und Runtime Fehler.

Tippfehler


Tippfehler findet der Methodeneditor. Sie erscheinen in Rot. Im Bereich unter dem Methodenfenster erscheint eine Meldung. Nachfolgendes Fenster zeigt einen markierten Tippfehler:

Hinweis: Die Kommentare wurden nachträglich per Hand eingefügt. 4D ändert nur die Farbe an der Stelle, wo der Fehler auftritt.

Solche Tippfehler rufen normalerweise Syntaxfehler hervor. Hier ist der Tabellenname unbekannt. Im Informationsbereich wird der Fehler beschrieben, wenn Sie die Programmierzeile bestätigen.

In diesem Fall korrigieren Sie den Tippfehler und bestätigen die Korrektur mit der Eingabetaste auf dem Zahlenblock. Weitere Informationen dazu finden Sie im Handbuch 4D Designmodus.

Syntax oder Ablauffehler


Einige Fehler werden nur beim Ausführen der Methode gefunden. Bei einem Syntaxfehler wird das Fenster Syntaxfehler angezeigt. Beispiel:

In diesem Fenster wurde für Uppercase ein Tabellenname übergeben, der Befehl erwartet jedoch einen Ausdruck vom Typ Text. Der Bereich "Details" ist erweitert, um den letzten Fehler und seine Nummer anzuzeigen.

Es kann beispielsweise nicht genügend Speicher zum Erstellen eines Array oder BLOB vorhanden sein. Oder Sie wollen auf ein Dokument auf der Festplatte zugreifen, das nicht existiert bzw. bereits von einer anderen Anwendung geöffnet ist.

Diese Fehler hängen nicht direkt mit Ihrer Programmierung zusammen; sie treten auf, weil manchmal irgendetwas nicht stimmt. In den meisten Fällen lassen sich solche Fehler mit einer Fehlersuchmethode beheben, die den Befehl ON ERR CALL einsetzt. Weitere Informationen dazu finden Sie in der Beschreibung des Befehls ON ERR CALL.

Strukturfehler oder logische Fehler


Solche Fehler sind im allgemeinen schwer zu finden—verwenden Sie dafür den Debugger. In gewissem Maß fallen die oben beschriebenen Fehlertypen - mit Ausnahme der Tippfehler - auch unter die Rubrik Strukturfehler oder logische Fehler. Zum Beispiel:

Ein Syntaxfehler tritt ein, wenn Sie eine noch nicht initialisierte Variable verwenden wollen.

Ein Ablauffehler tritt ein, wenn Sie ein Dokument öffnen wollen, dessen Name von einer Unterroutine empfangen wird, die im Parameter nicht den richtigen Wert erhält. Beachten Sie, dass sich in diesem Beispiel der abbrechende Codeteil unterscheiden kann von dem Code, der das Problem hervorruft.

Unter Strukturfehler oder logische Fehler fallen auch folgende Situationen:

Ein Datensatz wird nicht korrekt aktualisiert, da Sie vor Aufrufen von SAVE RECORD nicht geprüft haben, ob der Datensatz gesperrt ist.

Eine Methode läuft nicht korrekt ab, da Sie nicht geprüft haben, ob ein optionaler Parameter vorhanden ist.

Runtime Fehler


Im Anwendungsmodus können Fehler auftreten, die Sie noch nie im interpretierten Modus gesehen haben. Beispiel:

Diese Meldung sagt aus: "Sie versuchen auf ein Zeichen zuzugreifen, das außerhalb der definierten Länge für die Zeichenkette liegt." Um die Ursache des Problems schnell zu finden, notieren Sie den Methodennamen und die Zeilennummer, öffnen Sie erneut die interpretierte Version der Strukturdatei und gehen Sie in der Methode in die entsprechende Zeile.

Vorgehensweise bei Fehlern


Fehler sind nichts außergewöhnliches. Es wäre unnormal, hunderte von Programmierzeilen ohne irgendeinen Fehler zu schreiben. So ist es auch die Fehlersuche und -korrektur ein ganz normaler Vorgang.

Durch die Multitasking-Fähigkeiten von 4D können Sie Methoden schnell bearbeiten und durchlaufen, da Sie zwischen den einzelnen Fenstern wechseln können. Sie müssen nicht jedes Mal die ganze Programmierung durchlaufen. Auch der Debugger beschleunigt die Fehlerverwaltung.

Ein typischer Anfangsfehler ist, bei der Fehlersuche im Fenster Syntaxfehler auf die Schaltfläche Abbrechen zu klicken, in den Methodeneditor zurückzugehen und den Code zu durchforsten, um herauszufinden, was nicht stimmt. Tun Sie das nicht! Sie sparen viel Zeit und Energie, wenn Sie immer mit dem Debugger arbeiten.

Tritt ein unerwarteter Syntaxfehler auf, verwenden Sie den Debugger.

Tritt ein Ablauffehler auf, verwenden Sie den Debugger.

Tritt irgendein anderer Fehlertyp auf, verwenden Sie den Debugger.

In 99 % der Fälle liefert der Debugger genau die Information, um zu verstehen, warum ein Fehler aufgetreten ist. Mit dieser Information können Sie dann auch den Fehler beheben.

Tipp: Befassen und experimentieren Sie ein paar Stunden mit dem Debugger. Denn so können Sie in Zukunft beim Suchen und Korrigieren von Fehlern Tage und Wochen einsparen.

Verwenden Sie den Debugger auch zum Entwickeln von Code. Sicher schreiben Sie manchmal einen recht umfangreichen Code. Auch wenn Sie noch so genau sind, können Sie erst bei der Ausführung ganz sicher sein, ob Ihr Code funktioniert. Anstatt ihn blind laufen zu lassen, setzen Sie den Befehl TRACE an den Anfang Ihres Codes. Sie können ihn dann Schritt für Schritt ausführen und kontrollieren, was passiert. Ein Purist mag gegen diese Methode sein, aber manchmal zahlt sich Pragmatismus doch aus. Wie auch immer ... verwenden Sie den Debugger.

Fazit

Verwenden Sie den Debugger.

Referenz

Befehle unterbrechen, Debugger, Einführung, Fenster Syntaxfehler, ON ERR CALL, Tastenkürzel des Debuggers, Unterbrechungsliste.


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