2004-02-06 03:12:30 +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-03-06 09:45:25 +00:00
|
|
|
#if (_MSC_VER < 1100) || (_MSC_VER > 1310)
|
2004-02-06 03:12:30 +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 DWORD StackwalkFilter( EXCEPTION_POINTERS *ep, DWORD status, LPCTSTR pszLogFile);
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif // __STACKWALKER_H__
|