[ ECLiPSe Debugger built-in.|Group Index| Full Index]

trace_port(?Invoc, +Port, ?Term)

Create a user-defined debugger port.

?Invoc
An integer or variable.
+Port
An atom.
?Term
Any term.

Description

This predicate allows to generate user-defined debugger ports, thus enhancing the debugger's basic box model with application- specific checkpoints.

When the debugger is on, this predicate causes a trace line to be displayed with Port being the name of the debugger port, invocation number Invoc and Term in the goal position.

If Invoc is left uninstantiated, it will be instantiated to a unique invocation number by the system.

Fail Conditions

None.

Resatisfiable

No.

Exceptions

Examples


    :- pragma(nodebug).
    bool(B) :-
	trace_port(Invoc, 'TRY_ZERO', B=0),  
	(
	    B=0
	;
	    trace_port(Invoc, 'TRY_ONE', B=1),
	    B=1
	).
    :- untraceable bool/1.

[eclipse 9]: bool(B).
  (3) 3 TRY_ZERO  B = 0   %> creep

B = 0     More? (;) 
  (3) 3 TRY_ONE  B = 1   %> creep

B = 1
yes.



See Also

spy_term / 2, spy_var / 1, trace / 1