Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

74 lines
1.5 KiB

//+----------------------------------------------------------------------------
//
// File:
// davedbg.h
//
// Contents:
// A debug trace class
//
// Classes:
// TraceLog
//
// History:
// 04-Sep-94 davepl Created
//
//-----------------------------------------------------------------------------
const ULONG MAX_ARGS = 20;
const ULONG MAX_BUF = 255;
typedef enum tagGROUPSET
{
GS_CACHE = 0x000000001
} GROUPSET;
typedef enum tagDVARTYPE
{
NO_TYPE = 0x0000,
LONG_TYPE = 0x0001,
SHORT_TYPE = 0x0002,
INT_TYPE = 0x0004,
CHAR_TYPE = 0x0008,
STRING_TYPE = 0x0010,
FLOAT_TYPE = 0x0020,
COMMA_TYPE = 0x0040,
MSG_TYPE = 0x0080,
PTR_TYPE = 0x0100,
HEXINT_TYPE = 0x0200
} DVARTYPE;
inline DVARTYPE operator |= (DVARTYPE & vtORON, const DVARTYPE vtORBY)
{
return (vtORON = (DVARTYPE)((int) vtORON | (int) vtORBY));
}
typedef enum tagVERBOSITY
{
VB_SILENT = 0x0000,
VB_MINIMAL = 0x0001,
VB_MODERATE = 0x0002,
VB_MAXIMUM = 0x0004
} VERBOSITY;
class TraceLog
{
public:
TraceLog (void *, char *, GROUPSET, VERBOSITY);
~TraceLog();
void OnEntry();
void OnEntry(char * pszFormat, ...);
void OnExit (const char * pszFormat, ...);
private:
char m_pszFormat[ MAX_BUF ];
void *m_aPtr[ MAX_ARGS ];
BYTE m_cArgs;
BOOL m_fShouldDisplay;
void *m_pvThat;
char m_pszFunction[MAX_BUF];
};