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.