BC Debug

Aus bafbal.de
Zur Navigation springen Zur Suche springen

Die Debug-Tools

Oben links im Developement-Bereich sind die fünf Debug-Tools.

Debug-Log

Das Debug-Log zeigt die einzelnen Prozeduren in der Reihenfolge der Ausführung und die ausgeführten Funktionen inklusive deren Ergebnis an. Im Gegensatz zu einem konventionellen Debugger, bei dem man den Code Schritt für Schritt ausführt, lässt man beim Debug-Log das Programm einfach auf den Fehler laufen und schaut sich dann an, wie es dazu gekommen ist. Das hat sich in der Praxis als deutlich schneller herausgestellt.

Debug-Log

Hier im Beispiel sehen wir oben zunächst noch den Rest einer Funktion, $T(Add_list). Es wird also ein Text übersetzt. Das Ergebnis der Funktion wird nach den vier Minuszeichen angezeigt, Liste hinzufügen, es ist also Deutsch als Sprache eingestellt.

Es folgen ein Label (auch mit einer übersetzten Beschriftung) und ein Edit-Feld, danach wird die Prozedur #filter aufgerufen, welche das Filter-Kommando des Formulars ausführt.

Die Ausführung des Kommandos xlookup_flt beginnt damit, dass der Baum geleert wird. Dann wird geprüft, ob edt1 einen Inhalt hat. An dieser Stelle sind zwei Funktionen ineinander geschachtelt. Zuerst wird die innere Funktion $EDT() ausgeführt, diese gibt einen leeren String zurück. Mit $NEMPTY() wird geprüft, dass der Inhalt von edt1 nicht leer ist - da er leer ist, wird N zurück gegeben.

Es wird also zur nächsten Verzweigung gesprungen, diese ist ohne Bedingung, wird also immer ausgeführt, wenn keine vorherige Bedingung zugetroffen hat. Hier wird mittels eines SQL-Statements der Baum gefüllt.

Jeder Tab im BAF-Client hat einen korrespondierenden Tab im Debug-Log. Aus Gründen der Performance und der Übersichtlichkeit wird das Log nur geschrieben, wenn es Aktiv ist. Mit Clear Log lässt es sich auch löschen. Mit StayOnTop wird das Formular des Debug-Fensters immer im Vordergrund angezeigt.