|
|
/* (C) 1997 Microsoft Corp.
* * file : Debug.h * author : Erik Mavrinac * * description: MCS debugging defines and prototypes. Requires that * a stack PSDCONTEXT be available anywhere these calls are made. */
#if DBG
// These ...Out() macros are graded by the number of extra parameters:
// Out() is only a string, Out1() is one stack parameter, etc.
// We use non-ICA-defined trace types here to allow clean separation from
// WDTShare tracing, which uses the ICA TT_API*, TT_OUT*, TT_IN* macros.
#define MCS_TT_Error TT_ERROR
#define MCS_TT_Warning 0x02000000
#define MCS_TT_Trace 0x04000000
#define MCS_TT_Dump 0x08000000
#define ErrOut(context, str) \
IcaStackTrace(context, TC_PD, MCS_TT_Error, "MCS: **** ERROR: " str "\n") #define ErrOut1(context, str, arg1) \
IcaStackTrace(context, TC_PD, MCS_TT_Error, "MCS: **** ERROR: " str "\n", arg1) #define ErrOut2(context, str, arg1, arg2) \
IcaStackTrace(context, TC_PD, MCS_TT_Error, "MCS: **** ERROR: " str "\n", arg1, arg2)
#define WarnOut(context, str) \
IcaStackTrace(context, TC_PD, MCS_TT_Warning, "MCS: warning: " str "\n") #define WarnOut1(context, str, arg1) \
IcaStackTrace(context, TC_PD, MCS_TT_Warning, "MCS: warning: " str "\n", arg1) #define WarnOut2(context, str, arg1, arg2) \
IcaStackTrace(context, TC_PD, MCS_TT_Warning, "MCS: warning: " str "\n", arg1, arg2)
#define TraceOut(context, str) \
IcaStackTrace(context, TC_PD, MCS_TT_Trace, "MCS: " str "\n") #define TraceOut1(context, str, arg1) \
IcaStackTrace(context, TC_PD, MCS_TT_Trace, "MCS: " str "\n", arg1) #define TraceOut2(context, str, arg1, arg2) \
IcaStackTrace(context, TC_PD, MCS_TT_Trace, "MCS: " str "\n", arg1, arg2) #define TraceOut3(context, str, arg1, arg2, arg3) \
IcaStackTrace(context, TC_PD, MCS_TT_Trace, "MCS: " str "\n", arg1, arg2, arg3)
#define DumpOut(context, str, buf, len) \
{ \ IcaStackTrace(context, TC_PD, MCS_TT_Dump, "MCS: dump: " str "\n"); \ IcaStackTraceBuffer(context, TC_PD, MCS_TT_Dump, buf, len); \ }
#else // DBG
#define ErrOut(context, str)
#define ErrOut1(context, str, arg1)
#define ErrOut2(context, str, arg1, arg2)
#define WarnOut(context, str)
#define WarnOut1(context, str, arg1)
#define WarnOut2(context, str, arg1, arg2)
#define TraceOut(context, str)
#define TraceOut1(context, str, arg1)
#define TraceOut2(context, str, arg1, arg2)
#define TraceOut3(context, str, arg1, arg2, arg3)
#define DumpOut(context, str, buf, len)
#endif // DBG
|