JMP hilft dem Benutzer, Fehler im JSL-Code zu "verfolgen": Es zeigt nicht die Codezeile an, in der der Fehler "auftritt".
Es versucht herauszufinden, wo der eigentliche Fehler im Code liegt und zeigt diese Zeile an.
Im folgenden Beispiel erscheint die Fehlermeldung nur, wenn Zeile 6 unkommentiert ist --> Fehler "passiert" in Zeile 6.
Aber der fehlerhafte Code (Graph Bulder ohne "i") steht in Zeile 4.
Und JMP erwähnt tatsächlich Zeile 4 -> erstaunlich! sehr hilfreich 

Oft ist es großartig, dass JMP diesen ersten Schritt der Fehlersuche automatisch durchführt.
Aber manchmal ist es irreführend (falsch).
Ein Beispiel:
Mit seiner Funktion, Fehler bis zu der Stelle zurückzuverfolgen, an der die Variable definiert wurde, fordert JMP den Benutzer auf, den Code in Zeile 2 zu korrigieren.
Mit zu viel Vertrauen in das, was JMP sagt, wird es eine Weile dauern, um herauszufinden, dass der Fehler tatsächlich in Zeile 12 liegt - es macht definitiv keinen Sinn, eine Zeile nur mit einem Befehl auszuführen, den nur ein GraphBuilder-Objekt versteht.
Stellen Sie sich vor, wie kompliziert es werden kann, wenn der Fehler weniger offensichtlich ist als dieser hier - wenn JMP Ihnen die falsche Codezeile sagt und Sie keine Ahnung haben, in welcher Codezeile es tatsächlich passiert ist ...

Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
myVariables = Expr(Variables( X( :height ), Y( :weight ) ));
//myVariables = Insert(Expr(myVariables), Expr(Overlay(:sex)));
Substitute(Expr( Graph Builder(
Variables( X( :height ), Y( :weight ) ),
Name Expr(myVariables))),"hallo","hello")