8.4.2 Tracing
Tracing is enabled with the chr_trace/0 predicate and disabled with the chr_notrace/0 predicate.
When enabled the tracer will step through the call
,
exit
, fail
, wake
and apply
ports, accepting debug commands, and simply write out the other ports.
The following debug commands are currently supported:
CHR debug options: <cr> creep c creep s skip g ancestors n nodebug b break a abort f fail ? help h help
Their meaning is:
- creep
- Step to the next port.
- skip
- Skip to exit port of this call or wake port.
- ancestors
- Print list of ancestor call and wake ports.
- nodebug
- Disable the tracer.
- break
- Enter a recursive Prolog top level. See break/0.
- abort
- Exit to the top level. See abort/0.
- fail
- Insert failure in execution.
- help
- Print the above available debug options.