protocol

debuggerp

Debugger protocol.

Author: Paulo Moura
Version: 2.1
Date: 2016/10/23
Compilation flags:
static

(no dependencies on other entities)

Public interface

reset/0

Resets all debugging settings, including spy points and leashed ports, and turns off debugging.

Compilation flags:
static
Mode and number of proofs:
reset - one

debug/0

Starts debugging for all defined spy points.

Compilation flags:
static
Mode and number of proofs:
debug - one

nodebug/0

Stops debugging for all defined spy points.

Compilation flags:
static
Mode and number of proofs:
nodebug - one

debugging/0

Reports current debugging settings, including spy points.

Compilation flags:
static
Mode and number of proofs:
debugging - one

debugging/1

Enumerates, by backtracking, all entities compiled in debug mode.

Compilation flags:
static
Template:
debugging(Entity)
Mode and number of proofs:
debugging(?entity_identifier) - zero_or_more

trace/0

Starts tracing all calls compiled in debug mode.

Compilation flags:
static
Mode and number of proofs:
trace - one

notrace/0

Stops tracing of calls compiled in debug mode.

Compilation flags:
static
Mode and number of proofs:
notrace - one

spy/1

Sets a line number spy point or a predicate spy point or a list of spy points.

Compilation flags:
static
Template:
spy(SpyPoint)
Mode and number of proofs:
spy(@spy_point) - one
spy(@list(spy_point)) - one

spying/1

Enumerates, by backtracking, all defined line number and predicate spy points.

Compilation flags:
static
Template:
spying(SpyPoint)
Mode and number of proofs:
spying(?spy_point) - zero_or_more

spy/4

Sets a context spy point.

Compilation flags:
static
Template:
spy(Sender,This,Self,Goal)
Mode and number of proofs:
spy(@term,@term,@term,@term) - one

spying/4

Enumerates, by backtracking, all defined context spy points.

Compilation flags:
static
Template:
spying(Sender,This,Self,Goal)
Mode and number of proofs:
spying(?term,?term,?term,?term) - zero_or_more

nospy/1

Removes all matching line number spy points and predicate spy points.

Compilation flags:
static
Template:
nospy(SpyPoint)
Mode and number of proofs:
nospy(@var) - one
nospy(@spy_point) - one
nospy(@list(spy_point)) - one

nospy/4

Removes all matching context spy points.

Compilation flags:
static
Template:
nospy(Sender,This,Self,Goal)
Mode and number of proofs:
nospy(@term,@term,@term,@term) - one

nospyall/0

Removes all line number, predicate, and context spy points.

Compilation flags:
static
Mode and number of proofs:
nospyall - one

leash/1

Sets the debugger leash ports using an abbreviation (none, loose, half, tight, or full) or a list of ports (valid ports are fact, rule, call, exit, redo, fail, and exception).

Compilation flags:
static
Template:
leash(Ports)
Mode and number of proofs:
leash(+atom) - one
leash(+list(atom)) - one

leashing/1

Enumerates, by backtracking, all leashed ports (valid ports are fact, rule, call, exit, redo, fail, and exception).

Compilation flags:
static
Template:
leashing(Port)
Mode and number of proofs:
leashing(?atom) - zero_or_more

Protected interface

(none)

Private predicates

(none)

Operators

(none)

Remarks

  • Debugger help: Type the character “h” or the character “?” at a leashed port.
  • Predicate spy point: Specified as a ground term Functor/Arity.
  • Line number spy point: Specified as an Entity-Line term with both Entity and Line bound. Line must be the first source file line of an entity clause.
  • Leash shorthands: none - [], loose - [fact, rule, call], half - [fact, rule, call, redo], tight - [fact, rule, call, redo, fail, exception], and full - [fact, rule, call, exit, redo, fail, exception].

See also

debugger