Debugging with GT.M: Difference between revisions
From VistApedia
Jump to navigationJump to search
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
=== Simple 'IDE' with GT.M === | |||
[[GT.M IDE]] | |||
=== GT.M Debugging commands === | |||
This information is from the GT.M Programmer's Manual. I'll just summarize a few points. | This information is from the GT.M Programmer's Manual. I'll just summarize a few points. | ||
Revision as of 22:07, 14 April 2005
Simple 'IDE' with GT.M
GT.M Debugging commands
This information is from the GT.M Programmer's Manual. I'll just summarize a few points.
- $ECODE
This is a list of past errors, separated by commas.
Subsequent errors are added to the end of the list.
Example:
GTM>w $ECODE
,M6,Z150373850,
Errors beginning with: "M" are standard errors
"U" are user errors
"Z" are GT.M errors
- $ZSTATUS
This is detail about the most recent error.
Example:
GTM>w $ZSTATUS
150373850,SubName+3^MyFunct,%GTM-E-UNDEF, Undefined local variable: Jxack
- $ZMESSAGE(x)
This will give a text message for a given error number.
Example: To get details about the error number, 150373850, given above...
GTM>w $ZMESSAGE(150373850)
%GTM-E-UNDEF, Undefined local variable: !AD
- ZPRINT x (e.g. ZPRINT SubName+3^MyFunct)
This will display the line that cause the program exception. The 'x' may be obtained from $ZSTATUS, or from $ZPOS (see below)
- $ZPOSITION (OR $ZPOS)
Shows the current position of the current line of execution (or the last line exececuted in case of an error)
- ZWRITE
Shows the entire variable table, displaying all defined variables.
- ZBREAK address
Toggles a break point at address It is possible to have the breakpoint execute code, and then resume. See manual.
- ZSTEP x
Will execute the program one line at a time. I think this would be typically
used after a ZBREAK drops command back to GT.M> prompt.
ZSTEP INTO -- start execution at current execution point, and stops at
next line (even if that line is in a subroutine).
ZSTEP [OVER] -- start execution at current exec. point, and stop at the
next line at the same level on the invocation stack.
ZSTEP OUTOF -- ??
- ZCONTINUE
Continue execution from break point.
- $STACK AND $ZLEVEL
$STACK starts at 0 and each DO inc's the value, each QUIT dec's it $ZLEVEL is $STACK+1
.. More later