Environment Options

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.
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.
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:
  1. where a predicate is multifile -- you can find all the files that have clauses for that predicate;
  2. where you specify a name but no arity -- you can find all the definitions of predicates with that name and with different arities;
  3. where you have the same name/arity defining predicates in different modules.