JMP aiuta l'utente a "tracciare" gli errori nel codice JSL: non indica la riga di codice in cui "si verifica" l'errore.
Cerca di scoprire dove si trova l'errore effettivo nel codice e mostra questa riga.
Nell'esempio seguente, il messaggio di errore viene visualizzato solo se la riga 6 non è commentata --> l'errore "succede" nella riga 6.
Ma il codice errato (Graph Bulder senza "i") è nella riga 4.
E JMP, infatti, menziona la riga 4 -> incredibile! molto utile 

Spesso è fantastico che JMP esegua automaticamente questa prima fase di tracciamento degli errori.
Ma a volte è fuorviante (sbagliato).
Un esempio:
Con la sua funzionalità per rintracciare gli errori nel punto in cui è stata definita la variabile, JMP chiede all'utente di correggere il codice nella riga 2.
Con troppa fiducia in ciò che JMP sta dicendo, ci vorrà del tempo per scoprire che l'errore è effettivamente nella riga 12 - sicuramente non ha senso eseguire una riga solo con un comando che solo un oggetto GraphBuilder capisce.
Immagina solo quanto può essere complicato se l'errore è meno ovvio di questo qui - se JMP ti dice la riga di codice sbagliata e non hai idea di quale riga di codice sia realmente accaduta ...

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")