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

Solver provides a trace facility, which is based on trace events. You can limit your trace to only those modifications that affect a constrained variable. You can also access a constrained variable before it is modified and after it is modified. You can also access at any time the demon or constraint that precipitated the modification of a constrained variable.

The trace facility is provided by the class IlcTrace, and its implementation class IlcTraceI. An instance of IlcTraceI enables you to trace such events as failure of a variable, a demon, or a constraint in a solution search. With an instance of this class, you can access the modifications of an active demon or an active constraint at any time by calling the member functions: IlcTraceI::getActiveDemon, IloSolver::getActiveDemon, and IloSolver::getActiveGoal.

The handle class IlcPrintTrace and its implementation class IlcPrintTraceI derive from the trace classes. They facilitate printing and displaying trace information.

All printing functions of Solver use an output stream, IloSolver::out. By default, this output stream is equal to cout (except on one platform where it is redirected to a log file).