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 MPITrace{...} 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 MPITrace{...} enum defines constants that you use together as a bit mask. You specify the desired trace output as a combination (logical OR) of MPITrace{...} constants.
There are 16 possible types of global trace output, with 12 global trace outputs defined.
Output Type |
Displays |
MPITraceFUNCTION_ENTRY |
Function name & calling parameters upon entry to function |
MPITraceFUNCTION_RETURN |
Function name, calling parameters & return value upon exit from function |
MPITraceMEMORY_ALLOC |
The Address & byte count when memory is dynamically allocated |
MPITraceMEMORY_FREE |
The Address & byte count when dynamically allocated memory is freed |
MPITraceMEMORY_GET |
Source address, destination address, byte count when reading XMP firmware memory |
MPITraceMEMORY_SET |
Source address, destination address, byte count when writing XMP firmware memory |
MPITraceVALIDATE |
Results of object validation |
MPITraceLOCK_GIVE |
When a resource lock is released |
MPITraceLOCK_TAKE |
When a resource lock is waited for & obtained |
MPITraceEVENT |
When an XMP event is received |
MPITraceALL |
All global trace outputs (lower 16 bits) |
Return to Trace Object's page
|