
trace_port(?Invoc, +Port, ?Term)

   Create a user-defined debugger port.



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

Type
   Debugging

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.




Resatisfiable
      No.

Fail Conditions
      None.



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
