mirror of https://github.com/tongzx/nt5src
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
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];
|
|
};
|
|
|