2003-06-30 22:30:29 +00:00
/*////////////////////////////////////////////////////////////////////////////
* Project :
* Memory_and_Exception_Trace
*
* ///////////////////////////////////////////////////////////////////////////
* File :
* Stackwalker . h
*
* Remarks :
*
*
* Note :
*
*
* Author :
* Jochen Kalmbach
*
*/ ///////////////////////////////////////////////////////////////////////////
# ifndef __STACKWALKER_H__
# define __STACKWALKER_H__
// Only valid in the following environment: Intel platform, MS VC++ 5/6/7
# ifndef _X86_
# error Only INTEL envirnoments are supported!
# endif
// Only MS VC++ 5 to 7
2004-02-04 19:14:39 +00:00
# if (_MSC_VER < 1100) || (_MSC_VER > 1310)
2003-06-30 22:30:29 +00:00
# error Only MS VC++ 5 / 6 / 7 supported. Check if the '_CrtMemBlockHeader' has not changed with this compiler!
# endif
typedef enum eAllocCheckOutput
{
ACOutput_Simple ,
ACOutput_Advanced ,
ACOutput_XML
} ;
// Make extern "C", so it will also work with normal C-Programs
# ifdef __cplusplus
extern " C " {
# endif
extern int InitAllocCheckWN ( eAllocCheckOutput eOutput , LPCTSTR pszFilename , ULONG ulShowStackAtAlloc = 0 ) ;
extern int InitAllocCheck ( eAllocCheckOutput eOutput = ACOutput_Simple , BOOL bSetUnhandledExeptionFilter = TRUE , ULONG ulShowStackAtAlloc = 0 ) ; // will create the filename by itself
extern ULONG DeInitAllocCheck ( ) ;
extern DWORD StackwalkFilter ( EXCEPTION_POINTERS * ep , DWORD status , LPCTSTR pszLogFile ) ;
# ifdef __cplusplus
}
# endif
# endif // __STACKWALKER_H__