4D v16.3

Wozu dient ein Debugger?

Home

 
4D v16.3
Wozu dient ein Debugger?

Wozu dient ein Debugger?  


 

 

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

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 den Befehl 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.

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.

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.

Fehler sind nichts Außergewöhnliches. Es wäre unnormal, hunderte von Programmierzeilen ohne irgendeinen Fehler zu schreiben. So ist 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.



Siehe auch 

Befehle unterbrechen
Fenster Debugger
Fenster Syntaxfehler
ON ERR CALL
Tastenkürzel des Debuggers
Unterbrechungsliste

 
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)