Programmfehler schneller finden

Previous 

 

 

 

01.11.2009

Programmfehler schneller finden

 

Ein Debugger kann ausschließlich Syntax-Fehler aufspüren und diese melden, z.B. unvollständige Programm-Anweisungen, oder auftretende Fehler während der Laufzeit. Logik-Fehler sich jedoch mit dem Debugger nicht beseitigen. Ein Logik-Fehler liegt vor, wenn Ihre Anwendung sich nicht wie geplant verhält, jedoch keine Syntax-Fehler auftreten.

 

Trotz der grundsätzlich bestehenden Möglichkeit, dass es sich um einen Fehler in der XDEV-Runtime, oder gar in der Java Runtime Environment handelt, stellt sich in den allermeisten Fällen heraus, dass es sich um einen Fehler des Entwicklers handelt. Selbst sehr erfahrenen Programmierern unterlaufen hin und wieder entsprechende Leichtsinnsfehler, die an sich zwar völlig banal erscheinen, jedoch sogar stundenlange Fehlersuche mit sich bringen können. Zahlreiche Fehlerquellen lassen sich jedoch schnell abprüfen. In jeden Fall ist es empfehlenswert, entsprechende Code-Abschnitte Anweisung für Anweisung durch zu debuggen und bei jedem Einzelschritt die Werte zur überprüfen.

 

Fehlerquelle

Maßnahme

Falsche Parameter

Prüfen Sie die Parameter Ihrer Funktionen sehr genau, auch wenn sie eine bestimmte Funktion bereits vielfach verwendet haben. Bei bestimmten Funktionen müssen zusätzliche Voraussetzungen erfüllt und dafür entsprechende Anpassungen vorgenommen werden, um eine korrekte Ausführung zu ermöglichen, z.B. beim Auslesen eines Formulars.

 

Tipp: Benennen Sie Ihre Komponenten, Variablen und eigenen Funktionen möglichst aussagekräftig, um diese nicht versehentlich bei einer Parameter-Übergabe zu verwechseln.

 

Aktion beim

falschen Ereignis

Prüfen Sie, ob Ihre Anweisungen auch beim richtigen Ereignis stehen. Prüfen Sie zudem, ob Ihr Code bei der richtigen Komponente oder Teilkomponente steht.

 

Vor allem beim Kopieren und Einfügen von Programmanweisungen können derartige  Leichtsinnsfehler leider sehr schnell passieren. Mit Hilfe des Inspektors können Sie sehr schnell nachvollziehen, welche Komponenten mit Code belegt sind.

 

Zahlreiche Komponenten, z.B. der DB-Container, können erst nach dem Zeichnen angesprochen werden, d.h., dass Sie dann das Ereignis Vor der Darstellung nicht verwenden dürfen.

 

Kollidierende

Aktionen

Wenn Ihre Anwendung den Anschein macht, abgestürzt zu sein, oder die Funktionalität völlig aus dem Ruder läuft, prüfen Sie zuerst, ob evt. mehrere Aktionen gleichzeitig auf eine GUI-Komponente zugreifen. Wenn das unkoordiniert passiert, kann es auch leicht zu Endlosschleifen kommen.

 

Vor allem beim Kopieren und Einfügen von Programmanweisungen können derartige  Leichtsinnsfehler schnell passieren. Mit Hilfe des Inspektors können Sie sehr schnell nachvollziehen, welche Komponenten mit Code belegt sind.

 

Benutzen falscher

Tabellen

Prüfen Sie, ob Sie bei Ihren Datenbank-Zugriffen die richtigen Tabellen verwenden. Beim anlegen, ändern und erst recht beim Ersetzen von Virtuellen Tabellen, kann es sehr leicht Fehler kommen. Ggf. müssen Sie sämtliche Datenbankabfragen überprüfen und schlimmstenfalls abändern.

 

Mit Hilfe des Debuggers können Sie sehr leicht feststellen, ob wie sich die Daten einer Virtuellen Tabelle ändern

 

Index ist nicht gleich

Datensatz ID

Beachten Sie den Unterschied zwischen einer Datensatz-ID und der Zeilennummer einer Virtuellen Tabelle, Liste oder Paartabelle, die als Index bezeichnet wird. Datensätzen werden in einer Datenbank nicht nach ihrer ID, sondern in historischer Reihenfolge gespeichert. Da die ID eines gelöschten Datensatzes nicht wieder von der Datenbank vergeben wird, ist die ID keine durchlaufende Nummerierung, sondern weist in der Praxis Lücken auf. Der Index einer Virtuellen Tabelle, Liste oder Paartabelle ist dagegen laufend und lückenlos durchnummeriert und beginnt immer bei 0. Um editierte Datensätze wieder in die Datenbank zurück speichern zu können, ist es sehr empfehlenswert die Datensatz-ID bei jeder Datenbank-Abfrage mitzunehmen. Mit Hilfe des Debuggers können Sie ID und Index sehr leicht überprüfen.

 

Übertragung

von Datensätzen

Oftmals entspricht eine Daten-Ausgabe nicht den Erwartungen. Oftmals liegt das daran, dass eine Virtuelle Tabelle nicht korrekt gefüllt wurde. Überprüfen Sie, ob Sie Ihre Datensätze an die Virtuelle Tabelle anhängen, oder ob die Virtuelle Tabelle gelöscht und anschließend nur mit dem neuen Datensatz gefüllt wird. Überprüfen Sie zudem ggf. die aktuellen Daten in Ihrer Datenbank.