#ifndef __DEBUG_HPP__ #define __DEBUG_HPP__ /************************************ REVISION LOG ENTRY Written By: Jayanta Konjengbam Revised on 5/5/2005 11:44:00 PM Comments: ... ************************************/ #include #include #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #ifdef _DEBUG #define DEBUG #endif #define FILE_TRACING 0x01 #define NORMAL_TRACING 0x02 //#define TRACE_METHOD FILE_TRACING #define TRACE_METHOD NORMAL_TRACING // Output to standard Win32 debugger #define BASE_FILENAME TEXT("Log") // Use when FILE_TRACING is active #define BUFFER_SIZE 1024 // Debug level masks #define DBG_TRACE 0x00000001 #define DBG_WARN 0x00000002 #define DBG_ERR 0x00000004 #define DBG_FLAT 0x00000008 // Can be used to insert empty lines #define DBG_ALL (DBG_TRACE|DBG_WARN|DBG_ERR|DBG_FLAT) #define DBG_CRITICAL (DBG_WARN|DBG_ERR) #define DBG_LEVEL DBG_ALL int _cdecl DebugPrint (TCHAR *pszFormat, ...); #ifdef DEBUG // Format: TIME FILENAME - LINENUM []: #define DBGPRINT(level, Msg) { \ TCHAR *pDest = _tcsrchr(TEXT(__FILE__), (int)'\\'); \ if ((level) & DBG_LEVEL) { \ switch(level) { \ case DBG_TRACE: \ DebugPrint("%-10u %-24s - %-4d [DBG_TRACE]: ", GetTickCount(), &pDest[1], __LINE__); \ DebugPrint Msg; \ break; \ case DBG_WARN: \ DebugPrint("%-10u %-24s - %-4d [DBG_WARN]: ", GetTickCount(), &pDest[1], __LINE__); \ DebugPrint Msg; \ break; \ case DBG_ERR: \ DebugPrint("%-10u %-24s - %-4d [DBG_ERR]: ", GetTickCount(), &pDest[1], __LINE__); \ DebugPrint Msg; \ break; \ case DBG_FLAT: \ DebugPrint Msg; \ break; \ default: \ ; \ } \ } \ } #else #define DBGPRINT(level, Msg) 0 #endif #ifdef __cplusplus } #endif /* ********************** * Example Usage: ********************** * * DBGPRINT(DBG_TRACE, ("Some string!\n")); * DBGPRINT(DBG_TRACE, (("Value1=%d, Value2=%d\n"), int1, int2)); */ #endif //__DEBUG_HPP__