Debugging with GT.M
From VistApedia
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.