Initial revision
This commit is contained in:
parent
218ca90543
commit
2186d5f3f9
572 changed files with 2 additions and 29666 deletions
48
src/mem3dcpp.cpp
Normal file
48
src/mem3dcpp.cpp
Normal file
|
@ -0,0 +1,48 @@
|
|||
#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
|
Loading…
Add table
Add a link
Reference in a new issue