Using debug malloc to allocate memory

This commit is contained in:
Ley0k 2017-02-19 12:14:18 +01:00
parent 176c433b82
commit 3e757e6a05
2 changed files with 38 additions and 0 deletions

View file

@ -257,3 +257,30 @@ void operator delete[]( void *ptr )
free( ptr );
}
*/
#ifdef _DEBUG_MEM
#undef new
void *operator new( size_t size, const char* file, int line )
{
return _malloc_dbg( size, _NORMAL_BLOCK, file, line );
}
void *operator new[]( size_t size, const char* file, int line )
{
return _malloc_dbg( size, _NORMAL_BLOCK, file, line );
}
void operator delete( void *ptr, const char* file, int line )
{
return _free_dbg( ptr, _NORMAL_BLOCK );
}
void operator delete[]( void *ptr, const char* file, int line )
{
return _free_dbg( ptr, _NORMAL_BLOCK );
}
#endif

View file

@ -54,11 +54,22 @@ public:
void DereferencePointer( void *ptr );
};
extern void *operator new( size_t size );
extern void *operator new[]( size_t size );
extern void operator delete( void *ptr );
extern void operator delete[]( void *ptr );
#ifdef _DEBUG_MEM
extern void *operator new( size_t size, const char* file, int line );
extern void *operator new[]( size_t size, const char* file, int line );
extern void operator delete( void *ptr, const char* file, int line );
extern void operator delete[]( void *ptr, const char* file, int line );
#define DEBUG_NEW new(__FILE__, __LINE__)
#define new DEBUG_NEW
#endif
extern DbgHeap m_Heap;
#endif /* dbgheap.h */