In this section we list the possible values of the debugger action variables, and their meaning.
Note that the Prolog terms, supplied as values, are copied when a
variable is set. This is relevant primarily in case of the
proceed/2 and flit/2 values.
Values allowed in the show condition:
print
debugger_print_options Prolog flag.
silent
display
display.
write
writeq.
write_term(Options)
Method-Sel
Values allowed in the command condition:
ask
proceed
flit
proceed.
proceed(Goal,New)
u (unify)
interactive debugger command.
The term proceed(Goal,New) will be copied
when the command action variable is set. Therefore breakpoint
specs of form
goal(foo(X))-proceed(_,bar(X))
should be avoided, and
goal(foo(_))-proceed(foo(X),bar(X))
should be used instead. The
first variant will not work as expected if X is non-ground, as the
variables in the bar/1 call will be detached from the original
ones in foo/1. Even if X is ground, the first variant may
be much less efficient, as it will copy the possibly huge term X.
flit(Goal,New)
proceed/2, on module
name expansion and copying, also apply for flit/2.
exception(E)
abort
retry(Inv)
r, retry;
see Debug Commands.
reexit(Inv)
je, jump to Exit port; see Debug Commands.
redo(Inv)
jr, jump to Redo port; see Debug Commands.
fail(Inv)
f,
fail; see Debug Commands.
Values allowed in the mode condition:
qskip(Inv)
mode is set to
trace. Valid only if Inv >= 1 and furthermore Inv =<
CurrInv for entry ports (Call, Redo), and Inv <
CurrInv for all other ports, where CurrInv is the invocation
number of the current port.
skip(Inv)
mode to trace there.
Inv should obey the same rules as for qskip.
trace
debug
zip
off