JMP는 사용자가 JSL 코드의 오류를 "추적"하는 데 도움이 됩니다. 오류가 "발생"하는 코드 줄을 나타내지 않습니다.
코드에서 실제 오류가 있는 위치를 찾으려고 시도하고 이 줄을 표시합니다.
아래 예에서 6행이 주석 처리되지 않은 경우 오류 메시지가 표시됩니다. --> 6행에서 오류가 발생합니다.
그러나 잘못된 코드("i"가 없는 Graph Bulder)는 4행에 있습니다.
그리고 JMP는 실제로 라인 4를 언급합니다 -> 놀랍습니다! 매우 도움이 됩니다 

종종 JMP가 오류 추적의 첫 번째 단계를 자동으로 수행하는 것이 좋습니다.
그러나 때로는 오해의 소지가 있습니다(잘못됨).
예:
변수가 정의된 위치까지 오류를 추적하는 기능을 통해 JMP는 사용자에게 2행에서 코드를 수정하도록 요청합니다.
JMP가 말하는 내용을 너무 많이 신뢰하면 오류가 실제로 12번째 줄에 있다는 것을 알아내는 데 시간이 걸립니다. GraphBuilder 객체만 이해하는 명령만으로 한 줄을 실행하는 것은 확실히 말이 되지 않습니다.
JMP가 잘못된 코드 행을 알려주고 실제로 어떤 코드 행에서 오류가 발생했는지 알 수 없는 경우 여기보다 오류가 명확하지 않은 경우 얼마나 복잡해질 수 있는지 상상해 보십시오.

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