Prefix options
The prefixes ! and ? are valid either alone or with one of the alphabetic character options. You can specify both prefixes, in any order, on one TRACE instruction. You can specify a prefix more than one time, if desired. Each occurrence of a prefix on an instruction reverses the action of the previous prefix. The prefix(es) must immediately precede the option (no intervening blanks).
- !
- Inhibits host
command execution. During regular execution, a TRACE instruction with
a prefix of ! suspends execution of all subsequent
host commands. For example, TRACE !C causes commands
to be traced but not processed. As each command is bypassed, the
REXX special variable RC is set to 0. You can use
this action for debugging potentially destructive programs. (Note
that this does not inhibit any commands entered manually while in
interactive debug. These are always processed.)
You can switch off command inhibition, when it is in effect, by issuing a TRACE instruction with a prefix !. Repeated use of the ! prefix, therefore, switches you alternately in or out of command inhibition mode. Or, you can turn off command inhibition at any time by issuing TRACE O or TRACE with no options.
- ?
- Controls interactive debug. During usual execution, a TRACE option
with a prefix of ? causes interactive debug to be
switched on. (See Interactive debugging of programs for full
details of this facility.) While interactive debug is on, interpretation
pauses after most clauses that are traced. For example, the instruction TRACE
?E makes the language processor pause for input after executing
any command that returns an error (that is, a nonzero return code).
Any TRACE instructions in the program being traced are ignored. (This is so that you are not taken out of interactive debug unexpectedly.)
You can switch off interactive debug in several ways:- Entering TRACE O turns off all tracing.
- Entering TRACE with no options restores the defaults—it turns off interactive debug but continues tracing with TRACE Normal (which traces any failing command after execution) in effect.
- Entering TRACE ? turns off interactive debug and continues tracing with the current option.
- Entering a TRACE instruction with a ? prefix before the option turns off interactive debug and continues tracing with the new option.
Tip: The TSO/E REXX immediate command TS and the EXECUTIL TS command can also be used to enter interactive debug. See TSO/E REXX commands.