There
are continuable and noncontinuable break loops in VLISP. You can enter
the continuable break loop at the very first break in program execution by
any of the following methods:
- Turning
on the Stop Once mode and reaching an expression with debugging
information (that is, an expression that is loaded from source code, as
opposed to from a compiled .exe file)
- Reaching
a function marked for Debug on Entry
- Reaching
a breakpoint you set in the program
- Entering
a break loop by pressing the Pause button
- Proceeding
with a Step Over, Step Into, or Step Out command from the previous
break loop state
When
the program is interrupted, you enter the break loop. This is apparent if
the VLISP Console window is active, because the prompt is changed
to reflect the current level of the break loop. In this suspended
state, you have read-write access to all variables in the environment
in which the break occurred. For example, if the break occurred
within a function containing several local variable declarations,
those variables are accessible and you can change their values by
issuing setq assignments at
the Console prompt.
When stopped at a breakpoint, you
can control subsequent program execution by choosing one of the
following items from the Debug menu, or by pressing the equivalent
toolbar button:
-
Reset to Top Level terminates
all currently active break loops and returns to the Console top-level
(the top read-eval-print loop).
-
Quit
Current Level terminates the current break loop and returns
to a break loop one level up. This may be another break loop or
the top-level read-eval-print loop.
-
Continue resumes
normal program execution from the breakpoint.
The
Step commands evaluate portions of program code before resuming
suspended mode:
-
Step
Over looks for the close parenthesis matching the open
parenthesis where the program is currently paused, and evaluates
the expressions in between.
-
Step
Into jumps into a nested expression, if any. If there
are no nested expressions, it jumps to the next expression in sequence.
-
Step
Out searches for the end of the function where the program
is currently paused, and evaluates all the expressions up to that
point.
After
you exit the break loop to the Console top-level, the Console prompt returns
to its original form (without a number prefix).