A documentation for general helper module for doing debugging and tracing.

Hardcoded breakpoints are usefull for allowing the execution to stop in right places without bringing the OS down like using general assertions would do. Hardcoded breakpoints must be used together with debugger. The hardcoded breakpoints are used by inserting macro _DBG_MUST_BREAK into source code.


This feature has not been implemented yet.

Tracing is the most important way of doing HW level debugging (after looking the source of course). Most of times users don't have access to debuggers and doing debugging in the field can be greatly improved if there are great variety of configurable traces available.

In order to use the macro in kernel space, ALWAYS_KERNEL must be defined in the MMP-file of the module.

To use static tracing the module using these utilities must have defined DEBUG_LEVEL (this is integer constant) in MMP-file. This constant defines the bit-mask for the set of traces, which are put into code at the compile time. See the macro definitions for details.

The other way to do tracing is to use run-time tracing, which requires from user to put class member variable iDbgLevel into their class. This variable is used the same way as the static flag by using bit-mask to define enabled traces. See the macro definitions for details.