GT.M provides a number of debugging features. These features include the ability to:
Interactively execute routines using M commands.
Display lines that may contain errors using the ZPRINT command and the $ZPOSITION special variable.
Redisplay error messages using the $ZSTATUS special variable and the ZMESSAGE command.
Set breakpoints and actions to bypass an error using the ZBREAK command.
Execute a line at a time using the ZSTEP command.
Display information about the M environment using the ZSHOW command.
Modify the invocation stack with QUIT and ZGOTO.
Incrementally add or modify code using the ZLINK and ZEDIT commands.
Continue execution using the ZCONTINUE command.
Establish "watch points" with triggers to trap incorrect accesses on global variable updates.
The following table summarizes the GT.M language extensions that facilitate debugging.
GT.M Debugging Tools | |
---|---|
EXTENSION |
EXPLANATION |
ZBreak |
Establishes a temporary breakpoint, with optional M action and/or activation count. |
ZContinue |
Continues routine execution from a break. |
ZEDit |
Invokes the UNIX text editor specified by the EDITOR environment variable. |
ZGoto |
Removes multiple levels from the M invocation stack and transfers control. |
ZLink |
Includes a new or modified M routine in the current M image; automatically recompiles if necessary. |
ZMessage |
Signals the specified condition. |
ZPrint |
Displays lines of source code. |
ZSHow |
Displays information about the M environment. |
ZSTep |
Incrementally executes a routine to the beginning of the next line of the same type. |
ZWRite |
Displays all or some local or global variables. |
$ZCSTATUS |
Holds the value of the status code for the last compile performed by a ZCOMPILE, ZLINK or auto-ZLINK. |
$ZEDit |
Contains the status code for the last ZEDit. |
$ZJOBEXAM() |
Performs a ZSHOW "*" to a default file location and name, or the one optionally specified by the argument. |
$ZLEVel |
Contains the current level of DO/XECUTE nesting. |
$ZMessage() |
Translates an error condition code into text form. |
$ZPOSition |
Contains a string indicating the current execution location. |
$ZPROmpt |
Controls the symbol displayed as the direct mode prompt. |
$ZROutines |
Contains a string specifying a directory list containing the object, and optionally the source, files. |
$ZSOurce |
Contains name of the M source program most recently ZLINKed or ZEDITed; default name for next ZEDIT or ZLINK. |
$ZStatus |
Contains error condition code and location of the last exception condition occurring during routine execution. |
$ZSTep |
Controls the default ZSTep action. |