This section is a reference to the debugger interaction predicates. A more use-oriented overview of the debugger is in section 2.9.
If you have installed XPCE, you can use the graphical front-end of the tracer. This front-end is installed using the predicate guitracer/0.
trace(Pred, +all).
call,
redo, exit, fail). The atom all
refers to all ports. If the port is preceded by a -
sign, the trace-point is cleared for the port. If it is preceded by a +,
the trace-point is set.
The predicate trace/2 activates debug mode (see debug/0). Each time a port (of the 4-port model) is passed that has a trace-point set, the goal is printed as with trace/0. Unlike trace/0, however, the execution is continued without asking for further information. Examples:
?- trace(hello). | Trace all ports of hello with any arity in any module. |
?- trace(foo/2, +fail). | Trace failures of foo/2 in any module. |
?- trace(bar/1, -all). | Stop tracing bar/1. |
The predicate debugging/0 shows all currently defined trace-points.
Note that the min_free parameter of all stacks is
enlarged to 8 K cells if debugging is switched off in order to
avoid excessive GC. GC complicates tracing because it renames the _G<NNN>
variables and replaces unreachable variables with the atom
\bnfmeta{garbage_collected}. Calling nodebug/0
does not reset the initial free-margin because several parts of
the top-level and debugger disable debugging of system code regions. See
also set_prolog_stack/2.
call, redo, exit, fail
and
unify. The special shorthand all refers to all
ports,
full refers to all ports except for the unify port
(default).
half refers to the call, redo and fail
port.full.trace (meaning error) and fail.
If the unknown flag
is set to
warning, unknown/2
reports the value as trace.?' was a prefix operator. In
versions after 5.5.13, explicit brackets are needed. or a
list of such options. +<option> sets a style
checking option, -<option> clears it and ?(<option>)
succeeds or fails according to the current setting. consult/1
and derivatives reset the style checking options to their value before
loading the file. If, for example, a file containing long atoms should
be loaded, the user can start the file with:
:- style_check(-atom).
The currently available options are given below with their default between brackets.
\ or \c.
This flag also enables warnings on \<newline>
followed by blank space in native mode. See
section 2.15.1.2.