Global Trace Outputs

There is a global 32-bit trace mask: the low 16 bits are the global trace output types, while the upper 16 bits are the per-object trace output types. Each object has a similar trace mask. The upper 16 bits of the global trace mask are not defined, but can be used to set the per-object output types for all objects. To enable all trace output types for all objects, set the global trace mask to all 1s (i.e., -1).

The MEITrace{...} enum (declared in trace.h) specifies the global types of trace output, i.e., the types of trace output that can be produced by any object or module. The MEITrace{...} enum defines constants that you use together as a bit mask. You specify the desired trace output as a combination (logical OR) of MEITrace{...} constants.

There are 16 possible types of global trace output, with 12 global trace outputs defined.

Output Type
MEITraceFUNCTION_ENTRY Function name & calling parameters upon entry to function
MEITraceFUNCTION_RETURN Function name, calling parameters & return value upon exit from function
MEITraceMEMORY_ALLOC The Address & byte count when memory is dynamically allocated
MEITraceMEMORY_FREE The Address & byte count when dynamically allocated memory is freed
MEITraceMEMORY_GET Source address, destination address, byte count when reading XMP firmware memory
MEITraceMEMORY_SET Source address, destination address, byte count when writing XMP firmware memory
MEITraceVALIDATE Results of object validation
MEITraceLOCK_GIVE When a resource lock is released
MEITraceLOCK_TAKE When a resource lock is waited for & obtained
MEITraceEVENT When an XMP event is received
MEITraceALL All global trace outputs (lower 16 bits)
MEIModuleTraceALL All per-object trace outputs (upper 16 bits)


Return to Trace Object's page