avp/src/mem3dcpp.cpp
2019-08-20 02:09:04 +02:00

48 lines
932 B
C++

#include "mem3dc.h"
#if DBGMALLOC
#if 1
// try and turn C++ new/delete tracking on such that
// we can do a malloc dump when the global objects
// with associated memory allocated is recored, the
// deallocation is recored, and then a malloc dump
// is done
// note that some global objects wont have their memory
// allocations/deallocations in the constructor/destructor
// tracked through record_malloc/record_free, but since
// global objects are deconstructed in the reverse order
// from construction, the deallocation type in the destructor
// will correspond to the allocation type in the constructor
int __cpp_new_recording = 0;
class DebugObject
{
public:
DebugObject();
~DebugObject();
};
DebugObject::DebugObject()
{
__cpp_new_recording = 1;
}
DebugObject::~DebugObject()
{
__cpp_new_recording = 0;
DumpMallocInfo(DUMPTOFILE);
}
static DebugObject dbo;
#else
int __cpp_new_recording = 1;
#endif
#endif