Dynamic predicate, normally not defined. This predicate is called from the SWI-Prolog debugger just before it would show a port. If this predicate succeeds the debugger assumes the trace action has been taken care of and continues execution as described by Action . Otherwise the normal Prolog debugger actions are performed.
Port is one of call , redo , exit , fail or unify .
Frame is an integer reference to the current local stack frame. PC is the current value of the program-counter, relative to the start of the current clause, or 0 if it is invalid, for example because the current frame runs a foreign predicate, or no clause has been selected yet. Leaving it a variable is identical to continue . Besides this it enables the Prolog programmer monitor the execution of a program. The example below records all goals trapped by the tracer in the database.