Macro trace facility (MHELP)
The assembler provides you with a set of trace and dump facilities to assist you in debugging errors in your macros and conditional assembly language. You use the MHELP instruction to invoke these trace and dump facilities. You can code a MHELP instruction anywhere in open code or in macro definitions. The operands on the MHELP instruction let you control which facilities to invoke. Each trace or dump remains in effect until you supersede it with another MHELP instruction.
The MHELP instruction lets you select one or more of the following
facilities:
- Macro Call Trace
- A one-line trace for each macro call
- Macro Branch Trace
- A one-line trace for each AGO and true AIF conditional assembly statement within a macro
- Macro Entry Dump
- A dump of parameter values from the macro dictionary immediately after a macro call is processed
- Macro Exit Dump
- A dump of SET symbol values from the macro dictionary on encountering a MEND or MEXIT statement
- Macro AIF dump
- A dump of SET symbol values from the macro dictionary immediately before each AIF statement that is encountered
- Global Suppression
- Suppresses the dumping of global SET symbols in the two preceding types of dump
- Macro Hex Dump
- An EBCDIC and hexadecimal dump of the parameters and SETC symbol values when you select the Macro AIF dump, the Macro Exit dump or the Macro Entry dump
- MHELP suppression
- Stops all active MHELP options.
- MHELP Control on &SYSNDX
- Controls the maximum value of the &SYSNDX system variable symbol. The limit is set by specifying the number in the operand of the MHELP instruction. When the &SYSNDX value is exceeded, the assembler produces a diagnostic message, terminates all current macro generation, and ignores all subsequent macro calls.