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.