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.
 
 
 
 
 
 

92 lines
2.6 KiB

/*** debug.h - debug related definitions
*
* Copyright (c) 1996,1997 Microsoft Corporation
* Author: Michael Tsang (MikeTs)
* Created 09/05/96
*
* MODIFICATION HISTORY
*/
#ifndef _DEBUG_H
#define _DEBUG_H
/*** Macros
*/
/*XLATOFF*/
#pragma warning (disable: 4704) //don't complain about in-line assembly
#define MSG(x) { \
ErrPrintf("%s: ", MODNAME); \
ErrPrintf x; \
ErrPrintf("\n"); \
}
#define WARN(x) { \
ErrPrintf("%s_WARN: ", MODNAME); \
ErrPrintf x; \
ErrPrintf("\n"); \
}
#define ERROR(x) { \
ErrPrintf("%s_ERR: ", MODNAME); \
ErrPrintf x; \
ErrPrintf("\n"); \
}
#ifndef DEBUG
#define WARN1(x) {}
#define WARN2(x) {}
#define ASSERT(x) {}
#else
#define ASSERT(x) if (!(x)) \
{ \
ErrPrintf("%s_ASSERT: (" #x \
") in line %d of file %s\n", \
MODNAME, __LINE__, __FILE__); \
}
#ifndef MAXDEBUG
#define WARN1 WARN
#define WARN2(x) {}
#else
#define WARN1 WARN
#define WARN2 WARN
#endif
#endif
#ifdef TRACING
#define OPENTRACE OpenTrace
#define CLOSETRACE CloseTrace
#define ENTER(p) EnterProc p
#define EXIT(p) ExitProc p
#else
#define OPENTRACE(x)
#define CLOSETRACE()
#define ENTER(p)
#define EXIT(p)
#endif
/*XLATON*/
//
// Exported data definitions
//
#ifdef TRACING
extern FILE *gpfileTrace;
extern PSZ gpszTraceFile;
extern int giTraceLevel;
extern int giIndent;
#endif
//
// Exported function prototypes
//
VOID CDECL ErrPrintf(char *pszFormat, ...);
#ifdef TRACING
VOID LOCAL OpenTrace(char *pszTraceOut);
VOID LOCAL CloseTrace(VOID);
VOID CDECL EnterProc(int n, char *pszFormat, ...);
VOID CDECL ExitProc(int n, char *pszFormat, ...);
#endif
#endif //ifndef _DEBUG_H