The Status Panel

The status panel is located just below the buttons in the debugger window, and shows the invocation depth of the current arrow, as well as information about the called predicate.

             +-----------------------------------------------+
             | Depth: 1    Predicate:  descendant/2          |
             +-----------------------------------------------+
     
The Status Panel

Note that the depth shown is the depth of the frame currently being shown, so if you use the Frame Up button to show ancestors (see dbg-sld-anc), the depth will reflect the frame being shown.

The Predicate field first shows the module (if other than user), name, and arity of the predicate being called. Second is shown information about the predicate and the port, which is only shown when the there is something unusual or interesting to be noted about the predicate or port. The information about the predicate is one of the following:


built_in
for built-in predicates; or
locked
for locked predicates; or
undefined
for undefined predicates; or
foreign
for foreign predicates (defined in another programming language); or
dynamic
for dynamic predicates; or
multifile
for multifile predicates

Nothing is shown for ordinary user-defined static (compiled) procedures defined all in a single file. The debugger also gives information that may help you understand why it has stopped where it has. This information may be one of the following:


skipped
if you previously skipped (or quasi-skipped) from this invocation; or
spied
if there is a spypoint on this goal or predicate