Environment Options
- n
- nonstop --
This option turns off the debugger for the rest of the
execution of the top-level goal. When the execution of this
goal is completed, the debugger returns to its current mode
(trace, debug, or zip). This option does not
turn the debugger off; to turn the debugger off, you must type:
| ?- call nodebug
- +
- spy this --
This option places a spypoint on the procedure currently being shown.
- -
- nospy this --
This option removes any spypoint on the procedure currently being shown.
- @
- command --
This option prompts for a single Prolog goal, which is executed as a command
without any variable results being shown. The command is run as
a new execution, with the current execution suspended, but
without any debugging. This is particularly useful for quickly
changing debugging parameters without entering a break level.
- b
- break --
This option calls the built-in predicate
break/0
, thus suspending
the execution so far and putting you at the top level of the interpreter.
(See the description of break/0
in ref-iex-int.)
The new execution is separate from the
suspended one, and invocation numbers will start again from 1.
The debugger is turned off when the break level is entered, although
the spypoints and leashing of the suspended level are retained.
When you end the break (by typing the end-of-file character),
execution will resume and you will be prompted once again at the port
that you left. Changes to leashing or to spypoints
will remain in effect after the break has finished.
- a
- abort --
This option aborts (abandons) the current execution. All the execution
states built so far are destroyed, and execution restarts at
the top level of the interpreter.
- .
- find-definition --
This works only under the editor interface. The source code
corresponding to the current procedure call is found and
displayed in the text window.
- ,
- find-more-definition --
This works only under the Emacs interfaces, and can be used after doing
a find-definition, in the case where there is more than one possible
definition. This is useful in several cases:
- where a predicate is multifile -- you can find all the files that
have clauses for that predicate;
- where you specify a name but no arity -- you can find all the
definitions of predicates with that name and with different arities;
- where you have the same name/arity defining predicates in different
modules.