11.3.62 debugging/0
[development]
Synopsis
debugging
Prints out current debugging state
Description
debugging/0
displays information on the
terminal about the current debugging state. It shows
- The top-level state of the debugger, which is one of
debug
- The debugger is on but will not show anything or stop for user
interaction until a spypoint is reached.
trace
- The debugger is on and will show everything. As soon as you type
a goal, you will start seeing a debugging trace. After printing each trace
message, the debugger may or may not stop for user interaction: this
depends on the type of leashing in force (see below).
zip
- The debugger is on but will not show anything or stop for user
interaction until a spypoint is reached. The debugger does not even keep any
information of the execution of the goal till the spypoint is reached and
hence you will not be able to see the ancestors of the goal when you
reach the spypoint.
off
- The debugger is off.
The top-level state can be controlled by the predicates
debug/0
, nodebug/0
, trace/0
, notrace/0
zip/0
, nozip/0
, and prolog_flag/3
.
- The type of leashing in force. When the debugger prints a message
saying that it is passing through a particular port (one of Call,
Exit, Redo, Fail, or Exception) of a particular procedure, it stops for user
interaction only if that port is leashed. The predicate
leash/1
can be used to select which of the seven ports you want to be leashed.
- All the current spypoints. Spypoints are controlled by the predicates
spy/[1,2]
, nospy/1
, nospyall/0
,
add_breakpoint/2
,
disable_breakpoints/1
,
enable_breakpoints/1
, and
remove_breakpoints/1
.
Exceptions
None.
See Also
Basic Debug.
Send feedback on this subject.