Previous Up Next

9.8  Debugging CHR Programs

User-defined constraints including application of CHRs can be traced with the standard debugger. Debugging of the ECLiPSe code is done in the standard way. See the corresponding user manual for more information.

9.8.1  Using the Debugger

In order to use the debugging tool, the debug_compile flag must have been on (default) during compilation (chr to pl) and loading of the produced ECLiPSe code.

The debugger displays user-defined constraints and application of CHRs. User-defined constraints are treated as predicates and the information about application of CHRs is displayed without stopping. See the subsection on how CHRs work for an example trace. The additional ports are:

The ports related to application of rules are:

The ports related to labeling are:

When displayed, each constraint is labelled with a unique integer identifier. Each rule is labelled with its name as given in the chr source using the @ operator. If a rule does not have a name, it is displayed together with a unique integer identifier.

Previous Up Next