Ein Matlab-Skript debuggen
Wir beschäftigen uns heute mit dem Debugging in Matlab.
Was genau versteht man unter Debugging? Es handelt sich um den Vorgang, Fehler innerhalb eines Skripts aufzuspüren. Der Begriff "Bug" steht für einen Fehler oder ein Problem im Code. Historisch gesehen stammt dieser Ausdruck aus den Anfangszeiten der Computertechnik, als Insekten (Bugs) tatsächlich Fehlfunktionen in Computern verursachen konnten. Heute ist dies natürlich undenkbar, dennoch hat sich der Begriff "Bug" etabliert.
Doch wie gehen wir in Matlab vor, um ein Skript zu debuggen? Hierfür steht uns die Anweisung "keyboard" zur Verfügung.
keyboard
Mit "keyboard" setzen wir einen Haltepunkt, der die Ausführung eines Skripts pausiert, sodass wir den Wert von Umgebungsvariablen überprüfen oder modifizieren können.
Das ist insbesondere beim Debuggen und Testen sehr hilfreich. Von dieser Position aus lassen sich diverse Operationen starten.
Wie genau funktioniert nun der Befehl "keyboard"?
Stößt Matlab auf das Keyword "keyboard", wird die Skriptausführung pausiert und ein Debug-Prompt geöffnet.
Dieser Debug-Prompt zeigt sich wie folgt:
k>>
Jetzt können Sie diverse Aktionen durchführen, etwa den Wert von Variablen in der aktuellen Umgebung prüfen oder anpassen.
Haben Sie die gewünschten Änderungen vorgenommen, lässt sich die Ausführung des Skripts mit dem Befehl dbcont fortsetzen.
Alternativ bietet der Befehl dbstep die Möglichkeit, das Skript schrittweise weiterzuführen.
Ein wichtiger Hinweis: Möchten Sie den Debug-Modus verlassen und die Skriptausführung komplett beenden, nutzen Sie den Befehl "dbquit". Das Skript wird dann nicht an der unterbrochenen Stelle fortgesetzt.
Ein praktisches Beispiel zur Veranschaulichung:
Betrachten Sie folgendes Skript:
x=2;
y=3;
disp(x+y)
Führen Sie dieses Skript aus, erhalten Sie als Ausgabe:
5
Fügen wir nun das Keyword "keyboard" vor dem Anzeigebefehl ein:
x=2;
y=3;
keyboard
disp(x+y)
Wird das Skript nun ausgeführt, pausiert es beim Auftreffen auf "keyboard", und der Debug-Prompt wird angezeigt.
k>>
Ein zusätzlicher Hinweis: Nutzen Sie die grafische Oberfläche von Matlab, werden Ihnen die Debug-Befehle im oberen Bereich des Fensters angezeigt. Damit können Sie die Ausführung entweder fortsetzen oder schrittweise weiterführen.

Im Debug-Prompt können Sie beispielsweise den Wert der Variablen "x" ändern.
Geben Sie dazu x=4 ein und bestätigen Sie mit Enter.
k>> x=4
Mit dem Befehl dbcont setzen Sie die Skriptausführung fort.
k>> dbcont
Das Skript setzt an der pausierten Stelle fort, wobei der Wert von "x" nun 4 ist.
Das Ergebnis von x+y ergibt nun 7.
7
Diese Methode ermöglicht es, Variablen und Parameter während der Laufzeit zu modifizieren.
Nutzen Sie diese Technik, um Fehlerquellen zu identifizieren, Lösungsansätze zu testen oder die Effizienz Ihres Skripts zu steigern, ohne ständige Code-Anpassungen vornehmen zu müssen.