We here described which information is displayed by the debugger when it
shows a goal. The basic format is as follows:
- S N M Port: Goal ?
S is a spy-point indicator: if there is a spy-point on the
current goal the + symbol is displayed else a space is displayed.
N is the invocation number. This unique number can be used
to correlate the trace messages for the various ports, since it is unique
for every invocation. M is an index number which
represents the number of direct ancestors of the goal (i.e. the current
depth of the goal). Port specifies the particular port
(call, exit, fail, redo,
exception). Goal is the current goal (it is then
possible to inspect its current instantiation) which is displayed using
write_term/3 with quoted(true) and
max_depth(D) options (section 6.14.6). Initially
D (the print depth) is set to 10 but can be redefined
using the < debugger command (section 3.5). The
? symbol is displayed when the debugger is waiting a command from
the user. (i.e. Port is a leashed port). If the port is unleashed,
this symbol is not displayed and the debugger continues the execution
displaying the next goal.
Copyright (C) 1999,2000 Daniel Diaz
Verbatim copying and distribution of this entire article is permitted in any
medium, provided this notice is preserved.
More about the copyright