|
#pragma once
#include "TypeTracker.h"
#include "ObjectTracker.h"
#include "FinalizerRunLogger.h"
class Controller
{
public:
Controller(void);
~Controller(void);
STDMETHODIMP Initialize(CComPtr<IUnknown> pUnk);
STDMETHODIMP Shutdown();
STDMETHODIMP ObjectAllocated(ObjectID objectId, ClassID classId);
STDMETHODIMP FinalizeableObjectQueued(DWORD finalizerFlags, ObjectID objectID);
STDMETHODIMP ClassLoadFinished(ClassID classId, HRESULT hrStatus);
STDMETHODIMP SurvivingReferences(ULONG cSurvivingObjectIDRanges,
ObjectID objectIDRangeStart[ ],
ULONG cObjectIDRangeLength[ ]);
STDMETHODIMP MovedReferences( ULONG cMovedObjectIDRanges,
ObjectID oldObjectIDRangeStart[ ],
ObjectID newObjectIDRangeStart[ ],
ULONG cObjectIDRangeLength[ ]);
private:
CComPtr<ICorProfilerInfo2> m_pCorProfilerInfo;
TypeTracker m_TypeTracker;
ObjectTracker m_ObjectTracker;
FinalizerRunLogger m_FinalizerRunLogger;
std::string m_LogFilePath;
bool m_ForceGCDuringShutdown;
};
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
I'm a 27 yrs old developer working with Atmel R&D India Pvt. Ltd., Chennai. I'm currently working in C# and C++, but I've done some Java programming as well. I was a Microsoft MVP in Visual C# from 2007 to 2009.
You can read
My Blog here. I've also done some open source software - please visit my
website to know more.