When a loop is traced, the DO clause itself is traced on every iteration of the loop.
You can retrieve the trace actions currently in effect by using the TRACE built-in function (see Section 7.4.66, “TRACE”).
The trace output of commands traced before execution always contains the final value of the command, that is, the string passed to the environment, and the clause generating it.
Trace actions are automatically saved across subroutine, function, and method calls. See Section 2.3, “CALL” for more details.
One of the most common traces you will use is:
Example 2.44. Instructions - TRACE
TRACE ?R
/* Interactive debugging is switched on if it was off, */
/* and tracing results of expressions begins. */