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