IBM ILOG Solver User's Manual > Developing Solver Applications > Debugging and Tracing > Trace > Trace events

Solver uses #define to define the events that you can trace with an instance of IlcTraceI:

#define IlcTraceDemons ((IlcUInt) 1)
#define IlcTraceConstraint ((IlcUInt) 2)
#define IlcTraceProcess ((IlcUInt) 4)
#define IlcTraceVars ((IlcUInt) 8)
#define IlcTraceFail ((IlcUInt) 16)
#define IlcTraceNoEvent ((IlcUInt) 32)
#define IlcTraceAllEvent ((IlcUInt) 31)

When you create an instance of IlcTraceI, use one of those values to the constructor to indicate which event or events to trace. After you have created a trace (an instance of IlcTraceI) if you want to alter the events that it traces, use the member functions setTraceDemon, setTraceConstraint, and so forth, to alter the trace.

Use the member function IlcPrintTrace::trace to hook a variable; that is, create a link between a print trace and a variable. If you hook a constrained variable, you can trace each modification of the domain of that variable.