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.
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.
Inversions 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 resets 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).
Currently available options are:
Name | Default | Description |
singleton | on | read_clause/1 (used by consult/1) warns on variables only appearing once in a term (clause) which have a name not starting with an underscore. See section 2.15.1.5 for details on variable handling and warnings. |
atom | on | read/1 and derivatives will produce an error message on quoted atoms or strings longer than 5 lines. |
dollar | off | Accept dollar as a lower case character, thus avoiding the need for quoting atoms with dollar signs. System maintenance use only. |
discontiguous | on | Warn if the clauses for a predicate are not together in the same source file. |
string | off | Backward compatibility. See the Prolog flag double_quotes (current_prolog_flag/2). |
charset | off | Warn on atoms and variables holding non-ASCII characters that are not quoted. See also section 2.15.1.1. |