/***************************************************************** Copyright SolutionsIQ Corporation. All Rights Reserved. $Header: /CONNX75/Server/debug.hpp 25 99/07/12 1:47p Lmcghaw $ $Log: /CONNX75/Server/debug.hpp $ * * 25 99/07/12 1:47p Lmcghaw * Build22 * * 24 1/27/99 2:47p Azilinskas * testing with Boundchecker in Server code * Added the ability to turn off CONNX memory manager * so that Boundschecker has a better grasp on memory leaks. * * 22 9/01/98 4:27p Dcorbit * NONDB_Mcmalloc() prototype fixed * * 21 9/23/97 12:20p Lmcghaw * Fixed MAX_PATH problem * * 20 9/05/97 3:48p Mmckee * I like to precompile on PC, I needed to add to make work. * * 19 9/05/97 11:56a Lmcghaw * * 18 9/05/97 10:56a Lmcghaw * * 17 9/04/97 4:36p Lmcghaw * * 16 9/04/97 4:35p Lmcghaw * * 15 8/01/97 9:50a Lmcghaw * * 14 7/31/97 3:40p Lmcghaw * * 13 7/14/97 12:01p Lmcghaw * * 12 7/14/97 8:53a Lmcghaw * Massive Checkin - changed mem functions to use CONNX memory debugging * functions that match the client memory debugging functions. Also, * added 2 virtual functions to the TABLE object - the RMS version of the * server need to create a special version of the Table object, unlike RDB * & DBMS. ******************************************************************/ #ifndef DEBUG_HPP #define DEBUG_HPP #include #ifdef __cplusplus extern "C" { #endif void * DB_McGlobalAllocPtr(long lFlags, long lSize, char *szFileName, int nLine); void * DB_McGlobalReallocPtr(void * pOldMem, long lNewSize, long lFlags, char *szFileName, int nLine); void DB_McGlobalFreePtr(void * pOldMem, char *szFileName, int nLine); void * DB_Mcmalloc(long lItems, char *szFileName, int nLine); void * DB_Mccalloc(long lItems, long lSize, char *szFileName, int nLine); void * DB_Mcrealloc(void *pOldMem, long lNewSize, char *szFileName, int nLine); void DB_Mcfree(void * pOldMem, char *szFileName, int nLine); void * DB_Mchookmalloc(long lItems); void DB_Mchookfree(void * pOldMem); void * NONDB_McGlobalAllocPtr(long lFlags, long lSize); void * NONDB_McGlobalReallocPtr(void * pOldMem, long lNewSize, long lFlags); void NONDB_McGlobalFreePtr(void * pOldMem); void * NONDB_Mcmalloc(long lItems); void * NONDB_Mccalloc(long lItems, long lSize); void * NONDB_Mcrealloc(void *pOldMem, long lNewSize); void NONDB_Mcfree(void * pOldMem); void __cdecl DB_DumpMemoryLeaks(); void __cdecl DB_DumpMemoryOverwrites(); void __cdecl FILETRACE(const char * pszFormat, ...); void showheap(); #if defined(_DEBUG) && !defined(BOUNDSCHECK_WORK) #if !defined(_WINDOWS) && !defined(_WIN32) void* operator new(size_t nSize, const char * lpszFileName, int nLine, int nNothing); void operator delete(void *lpData); #define Mcnew new(__FILE__,__LINE__,0) #define Mcdelete delete #else #define Mcnew new #define Mcdelete delete #endif void __cdecl LARGETRACE(const char * pszFormat, ...); #define McGlobalAllocPtr(a,b) DB_McGlobalAllocPtr(a,b,__FILE__,__LINE__) #define McGlobalReAllocPtr(a,b,c) DB_McGlobalReallocPtr(a,b,c,__FILE__,__LINE__) #define McGlobalFreePtr(a) DB_McGlobalFreePtr(a,__FILE__,__LINE__) #define Mcalloc(a) DB_Mcmalloc(a,__FILE__,__LINE__) #define Mcmalloc(a) DB_Mcmalloc(a,__FILE__,__LINE__) #define Mccalloc(a,b) DB_Mccalloc(a,b,__FILE__,__LINE__) #define Mcrealloc(a,b) DB_Mcrealloc(a,b,__FILE__,__LINE__) #define Mcfree(a) DB_Mcfree(a,__FILE__,__LINE__) #define Mchookmalloc DB_Mchookmalloc #define Mchookfree DB_Mchookfree #else #define Mcnew new #define Mcdelete delete #ifdef _DEBUGFILE #define LARGETRACE FILETRACE #else #if defined(_WIN32) || defined(_WINDOWS) #pragma warning(disable:4100) #endif //void __cdecl LARGETRACE(const char * a, ...) {} #endif #define McGlobalAllocPtr(a,b) NONDB_McGlobalAllocPtr(a,b) #define McGlobalReAllocPtr(a,b,c) NONDB_McGlobalReallocPtr(a,b,c) #define McGlobalFreePtr(a) NONDB_McGlobalFreePtr(a) #define Mcalloc(a) NONDB_Mcmalloc(a) #define Mcmalloc(a) NONDB_Mcmalloc(a) #define Mccalloc(a,b) NONDB_Mccalloc(a,b) #define Mcrealloc(a,b) NONDB_Mcrealloc(a,b) #define Mcfree(a) NONDB_Mcfree(a) #define Mchookmalloc NONDB_Mcmalloc #define Mchookfree NONDB_Mcfree #endif #ifdef __cplusplus } #endif #endif