protocol
debuggerp
Debugger protocol.
logtalk_load(debugger(loader))
static
Debugger help: Type the character
h
(condensed help) or the character?
(extended help) at a leashed port.Predicate breakpoint: Specified as a ground term
Functor/Arity
.Non-terminal breakpoint: Specified as a ground term
Functor//Arity
.Clause breakpoint: Specified as an
Entity-Line
term with bothEntity
andLine
bound.Line
must be the first source file line of an entity clause.Conditional breakpoint: Specified as an
Entity-Line
term with bothEntity
andLine
bound and a condition.Line
must be the first source file line of an entity clause.Hit count breakpoint: Specified as an
Entity-Line
term with bothEntity
andLine
bound and an unification count expression as a condition.Line
must be the first source file line of an entity clause.Triggered breakpoint: Specified as an
Entity-Line
term with bothEntity
andLine
bound and another breakpoint as a condition.Line
must be the first source file line of an entity clause.Context breakpoint: Specified as a
(Sender, This, Self, Goal)
tuple.Log point: Specified as an
(Entity, Line, Message)
tuple.Leash port shorthands:
none
-[]
,loose
-[fact,rule,call]
,half
-[fact,rule,call,redo]
,tight
-[fact,rule,call,redo,fail,exception]
, andfull
-[fact,rule,call,exit,redo,fail,exception]
.
Public predicates
reset/0
Resets all debugging settings (including breakpoints, log points, and leashed ports) and turns off debugging.
static
reset
- one
debug/0
Starts debugging for all defined breakpoints.
static
debug
- one
nodebug/0
Stops debugging for all defined breakpoints. Also turns off tracing. Does not remove defined breakpoints.
static
nodebug
- one
debugging/0
Reports current debugging settings, including breakpoints and log points.
static
debugging
- one
debugging/1
Enumerates, by backtracking, all entities compiled in debug mode.
static
debugging(Entity)
debugging(?entity_identifier)
- zero_or_more
trace/0
Starts tracing all calls compiled in debug mode.
static
trace
- one
notrace/0
Stops tracing of calls compiled in debug mode. Debugger will still stop at defined breakpoints.
static
notrace
- 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
).
static
leash(Ports)
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
).
static
leashing(Port)
leashing(?atom)
- zero_or_more
spy/1
Sets a predicate or clause breakpoint (removing any existing log point or breakpoint defined for the same location, or a list of breakpoints. Fails if a breakpoint is invalid.
static
spy(Breakpoint)
spy(@spy_point)
- zero_or_one
spy(@list(spy_point))
- zero_or_one
spying/1
Enumerates, by backtracking, all defined predicate and clause breakpoints.
static
spying(Breakpoint)
spying(?spy_point)
- zero_or_more
nospy/1
Removes all matching predicate and clause breakpoints.
static
nospy(Breakpoint)
nospy(@var)
- one
nospy(@spy_point)
- one
nospy(@list(spy_point))
- one
spy/3
Sets a conditional or triggered breakpoint (removing any existing log point or breakpoint defined for the same location). The condition can be a unification count expression, a lambda expression, or another breakpoint. Fails if the breakpoint is invalid.
static
spy(Entity,Line,Condition)
spy(+atom,+integer,@callable)
- zero_or_one
Unification count expression conditions:
>(Count)
,>=(Count)
,=:=(Count)
,=<(Count)
,<(Count)
,mod(M)
, andCount
.Lambda expression conditions:
[Count,N,Goal]>>Condition
and[Goal]>>Condition
whereCount
is the unification count,N
is the invocation number, andGoal
is the goal that unified with the clause head;Condition
is called in the context ofuser
.Triggered breakpoint conditions:
Entity-Line
.
spying/3
Enumerates, by backtracking, all conditional and triggered breakpoints.
static
spying(Entity,Line,Condition)
spying(?atom,?integer,?callable)
- zero_or_more
nospy/3
Removes all matching conditional and triggered breakpoints.
static
nospy(Entity,Line,Condition)
nospy(@term,@term,@term)
- one
spy/4
Sets a context breakpoint.
static
spy(Sender,This,Self,Goal)
spy(@term,@term,@term,@term)
- one
spying/4
Enumerates, by backtracking, all defined context breakpoints.
static
spying(Sender,This,Self,Goal)
spying(?term,?term,?term,?term)
- zero_or_more
nospy/4
Removes all matching context breakpoints.
static
nospy(Sender,This,Self,Goal)
nospy(@term,@term,@term,@term)
- one
nospyall/0
Removes all breakpoints and log points.
static
nospyall
- one
log/3
Sets a log point (removing any existing breakpoint defined for the same location). Fails if the log point is invalid.
static
log(Entity,Line,Message)
log(@object_identifier,+integer,+atom)
- zero_or_one
log(@category_identifier,+integer,+atom)
- zero_or_one
logging/3
Enumerates, by backtracking, all defined log points.
static
logging(Entity,Line,Message)
logging(?object_identifier,?integer,?atom)
- zero_or_more
logging(?category_identifier,?integer,?atom)
- zero_or_more
nolog/3
Removes all matching log points.
static
nolog(Entity,Line,Message)
nolog(@var_or(object_identifier),@var_or(integer),@var_or(atom))
- one
nolog(@var_or(category_identifier),@var_or(integer),@var_or(atom))
- one
nologall/0
Removes all log points.
static
nologall
- one
Protected predicates
(none)
Private predicates
(none)
Operators
(none)
See also