previous next |
4.1.6. Trace |
If the Trace option is on, then the system echoes every command at every level. This is useful for debugging programs. The following (toy) user-defined function returns the same error message for N = 3 and N = 6. Turning the Trace option on makes the sources of the trouble clear. |
Example |
Define T(N) M := 1/(N-3); If N = 6 Then N := 3 EndIf; M := 1/(N-3); Return M; EndDefine; T(3); ------------------------------- ERROR: Division by zero CONTEXT: 1 / (N - 3) ------------------------------- T(6); ------------------------------- ERROR: Division by zero CONTEXT: 1 / (N - 3) ------------------------------- Set Trace; T(3); T(3) M := 1 / (N - 3); IF N = 6 THEN N := 3 END; M := 1 / (N - 3); Return(M); M := 1 / (N - 3) ------------------------------- ERROR: Division by zero CONTEXT: 1 / (N - 3) ------------------------------- T(6); T(6) M := 1 / (N - 3); IF N = 6 THEN N := 3 END; M := 1 / (N - 3); Return(M); M := 1 / (N - 3) IF N = 6 THEN N := 3 END N := 3 M := 1 / (N - 3) ------------------------------- ERROR: Division by zero CONTEXT: 1 / (N - 3) ------------------------------- |
See also: |