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