The prefix ?
is valid alone or with one of the alphabetic character options. You can specify the prefix more than once, if desired. Each occurrence of a prefix on an instruction reverses the action of the previous prefix. The prefix must immediately precede the option (no intervening whitespace).
The prefix
?
controls interactive debugging. During normal execution, a TRACE option with a prefix of
?
causes interactive debugging to be switched on. (See
Chapter 15, Debugging Aids for full details of this facility.) When interactive debugging 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 or explicit setting of the error condition by the command handler.
Any TRACE instructions in the program being traced are ignored to ensure that you are not taken out of interactive debugging unexpectedly.
You can switch off interactive debugging in several ways:
Entering TRACE O
turns off all tracing.
Entering TRACE
with no options restores the defaults—it turns off interactive debugging but continues tracing with TRACE Normal (which traces any failing command after execution).
Entering TRACE ?
turns off interactive debugging and continues tracing with the current option.
Entering a TRACE instruction with a ?
prefix before the option turns off interactive debugging and continues tracing with the new option.
Using the ?
prefix, therefore, switches you in or out of interactive debugging. Because the language processor ignores any further TRACE statements in your program after you are in interactive debug mode, use CALL TRACE "?"
to turn off interactive debugging.