2.10.4 Trace Mode Commands When Paused
AllApplicationManualNameSummaryHelp

  • Documentation
    • Reference manual
      • Overview
        • Overview of the Debugger
          • Trace Mode Commands When Paused
            • Control Flow Commands
            • Informational Commands
            • Formatting Commands
    • Packages

2.10.4.1 Control Flow Commands

Abort aAbort Prolog execution (see abort/0)
Break bEnter a Prolog break environment (see break/0)
Creep cContinue execution, stop at next port. (Also return, space)
Exit eTerminate Prolog (see halt/0)
Fail fForce failure of the current goal
Find /Search for a port (see below for the description of this command (section 2.10.4.1))
Ignore iIgnore the current goal, pretending it succeeded
Leap lContinue execution, stop at next spy point
No debug nContinue execution in’no debug' mode
Repeat find .Repeat the last find command (see’Find' (section 2.10.4.1))
Retry rUndo all actions (except for database and I/O actions) back to the call port of the current goal and resume execution at the call port
Skip sContinue execution, stop at the next port of this goal (thus skipping all calls to children of this goal)
Spy +Set a spy point (see spy/1) on the current predicate. Spy points are described later in the overview (section 2.10.6).
No spy -Remove the spy point (see nospy/1) from the current predicate. Spy points are described later in the overview (section 2.10.6).
Up uContinue execution, stop at the next port of the parent goal (thus skipping this goal and all calls to children of this goal). This option is useful to stop tracing a failure driven loop.

Find (/) Description and Examples

The Find (/) command continues execution until a port matching a find pattern is found. After the /, the user can enter a line to specify the port to search for. This line consists of a set of letters indicating the port type, followed by an optional term, that should unify with the goal run by the port. If no term is specified it is taken as a variable, searching for any port of the specified type. If an atom is given, any goal whose functor has a name equal to that atom matches. Examples:

/fSearch for any fail port
/fe solveSearch for a fail or exit port of any goal with name solve
/c solve(a, _) Search for a call to solve/2 whose first argument is a variable or the atom a
/a member(_, _) Search for any port on member/2. This is equivalent to setting a spy point on member/2.