37 #ifndef NVWA_DEBUG_NEW_H
38 #define NVWA_DEBUG_NEW_H
46 void*
operator new(
size_t size,
const char* file,
int line);
47 void*
operator new[](
size_t size,
const char* file,
int line);
48 void operator delete(
void* ptr,
const char* file,
int line) _NOEXCEPT;
49 void operator delete[](
void* ptr,
const char* file,
int line) _NOEXCEPT;
77 #ifndef _DEBUG_NEW_REDEFINE_NEW
78 #define _DEBUG_NEW_REDEFINE_NEW 1
92 #ifndef _DEBUG_NEW_TYPE
93 #define _DEBUG_NEW_TYPE 1
114 # if _DEBUG_NEW_TYPE == 1
115 # define DEBUG_NEW NVWA::debug_new_recorder(__FILE__, __LINE__) ->* new
117 # define DEBUG_NEW new(__FILE__, __LINE__)
120 # if _DEBUG_NEW_REDEFINE_NEW
121 # define new DEBUG_NEW
123 # ifdef _DEBUG_NEW_EMULATE_MALLOC
126 # define malloc(s) ((void*)(new char[s]))
128 # define malloc(s) ((void*)(DEBUG_NEW char[s]))
130 # define free(p) delete[] (char*)(p)
149 : _M_file(file), _M_line(line) {}
181 #endif // NVWA_DEBUG_NEW_H
const char * new_progname
debug_new_recorder & operator=(const debug_new_recorder &)
_Tp * operator->*(_Tp *ptr)
debug_new_recorder(const char *file, int line)
void _M_process(void *ptr)
int check_mem_corruption()
static debug_new_counter __debug_new_count