Debugging Facilities
Debugging Facilities
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. |