1 /*////////////////////////////////////////////////////////////////////////////
3 * Memory_and_Exception_Trace
5 * ///////////////////////////////////////////////////////////////////////////
18 *////////////////////////////////////////////////////////////////////////////
20 #ifndef __STACKWALKER_H__
21 #define __STACKWALKER_H__
23 // Only valid in the following environment: Intel platform, MS VC++ 5/6/7/7.1/8
25 #error Only INTEL envirnoments are supported!
28 // Only MS VC++ 5 to 7
29 //#if (_MSC_VER < 1100) || (_MSC_VER > 1400)
30 //#error Only MS VC++ 5/6/7/7.1/8 supported. Check if the '_CrtMemBlockHeader' has not changed with this compiler!
33 typedef enum eAllocCheckOutput
40 // Make extern "C", so it will also work with normal C-Programs
44 extern int InitAllocCheckWN(eAllocCheckOutput eOutput, LPCTSTR pszFilename, ULONG ulShowStackAtAlloc = 0);
45 extern int InitAllocCheck(eAllocCheckOutput eOutput = ACOutput_Simple, BOOL bSetUnhandledExeptionFilter = TRUE, ULONG ulShowStackAtAlloc = 0); // will create the filename by itself
47 extern ULONG DeInitAllocCheck();
49 extern DWORD StackwalkFilter( EXCEPTION_POINTERS *ep, DWORD status, LPCTSTR pszLogFile);
51 extern void OnlyInstallUnhandeldExceptionFilter(eAllocCheckOutput eOutput = ACOutput_Simple);
57 #endif // __STACKWALKER_H__