Pol  Revision:cb584c9
Pol::Clib::MSJExceptionHandler Class Reference

#include <msjexhnd.h>

Public Member Functions

 MSJExceptionHandler ()
 
 ~MSJExceptionHandler ()
 
void SetLogFileName (PTSTR pszLogFileName)
 

Static Public Member Functions

static void GenerateExceptionReport (PEXCEPTION_POINTERS pExceptionInfo)
 
static LONG WINAPI MSJUnhandledExceptionFilter (PEXCEPTION_POINTERS pExceptionInfo)
 

Private Member Functions

typedef BOOL (__stdcall *SYMINITIALIZEPROC)(HANDLE
 
typedef BOOL (__stdcall *SYMCLEANUPPROC)(HANDLE)
 
typedef BOOL (__stdcall *STACKWALKPROC)(DWORD
 
typedef BOOL (__stdcall *SYMGETSYMFROMADDRPROC)(HANDLE
 
typedef DWORD (__stdcall *SYMGETMODULEBASEPROC)(HANDLE
 
typedef LPVOID (__stdcall *SYMFUNCTIONTABLEACCESSPROC)(HANDLE
 

Static Private Member Functions

static int __cdecl _tprintf (const TCHAR *format,...)
 
static LPTSTR GetExceptionString (DWORD dwCode)
 
static BOOL GetLogicalAddress (PVOID addr, PTSTR szModule, DWORD len, DWORD &section, DWORD &offset)
 
static void ImagehlpStackWalk (PCONTEXT pContext)
 
static BOOL InitImagehlpFunctions (void)
 
static void IntelStackWalk (PCONTEXT pContext)
 

Private Attributes

typedef BOOL
 
typedef DWORD
 
typedef HANDLE
 
typedef LPSTACKFRAME
 
typedef LPSTR
 
typedef LPVOID
 
typedef PDWORD
 
typedef PFUNCTION_TABLE_ACCESS_ROUTINE
 
typedef PGET_MODULE_BASE_ROUTINE
 
typedef PIMAGEHLP_SYMBOL
 
typedef PREAD_PROCESS_MEMORY_ROUTINE
 
typedef PTRANSLATE_ADDRESS_ROUTINE
 

Static Private Attributes

static STACKWALKPROC _StackWalk = 0
 
static SYMCLEANUPPROC _SymCleanup = 0
 
static SYMFUNCTIONTABLEACCESSPROC _SymFunctionTableAccess = 0
 
static SYMGETMODULEBASEPROC _SymGetModuleBase = 0
 
static SYMGETSYMFROMADDRPROC _SymGetSymFromAddr = 0
 
static SYMINITIALIZEPROC _SymInitialize = 0
 
static HANDLE m_hReportFile
 
static LPTOP_LEVEL_EXCEPTION_FILTER m_previousFilter
 
static TCHAR m_szLogFileName [MAX_PATH]
 

Detailed Description

Definition at line 16 of file msjexhnd.h.

Constructor & Destructor Documentation

Pol::Clib::MSJExceptionHandler::MSJExceptionHandler ( )

Definition at line 55 of file msjexhnd.cpp.

References m_szLogFileName.

Pol::Clib::MSJExceptionHandler::~MSJExceptionHandler ( )

Definition at line 78 of file msjexhnd.cpp.

Member Function Documentation

int __cdecl Pol::Clib::MSJExceptionHandler::_tprintf ( const TCHAR *  format,
  ... 
)
staticprivate

Definition at line 397 of file msjexhnd.cpp.

References POLLOG_INFO.

Referenced by GenerateExceptionReport(), ImagehlpStackWalk(), and IntelStackWalk().

typedef Pol::Clib::MSJExceptionHandler::BOOL ( __stdcall *  SYMINITIALIZEPROC)
private
typedef Pol::Clib::MSJExceptionHandler::BOOL ( __stdcall *  SYMCLEANUPPROC)
private
typedef Pol::Clib::MSJExceptionHandler::BOOL ( __stdcall *  STACKWALKPROC)
private
typedef Pol::Clib::MSJExceptionHandler::BOOL ( __stdcall *  SYMGETSYMFROMADDRPROC)
private
typedef Pol::Clib::MSJExceptionHandler::DWORD ( __stdcall *  SYMGETMODULEBASEPROC)
private
void Pol::Clib::MSJExceptionHandler::GenerateExceptionReport ( PEXCEPTION_POINTERS  pExceptionInfo)
static
LPTSTR Pol::Clib::MSJExceptionHandler::GetExceptionString ( DWORD  dwCode)
staticprivate

Definition at line 185 of file msjexhnd.cpp.

References EXCEPTION.

Referenced by GenerateExceptionReport().

BOOL Pol::Clib::MSJExceptionHandler::GetLogicalAddress ( PVOID  addr,
PTSTR  szModule,
DWORD  len,
DWORD section,
DWORD offset 
)
staticprivate

Definition at line 235 of file msjexhnd.cpp.

References DWORD.

Referenced by GenerateExceptionReport(), ImagehlpStackWalk(), and IntelStackWalk().

void Pol::Clib::MSJExceptionHandler::ImagehlpStackWalk ( PCONTEXT  pContext)
staticprivate
BOOL Pol::Clib::MSJExceptionHandler::InitImagehlpFunctions ( void  )
staticprivate
void Pol::Clib::MSJExceptionHandler::IntelStackWalk ( PCONTEXT  pContext)
staticprivate

Definition at line 285 of file msjexhnd.cpp.

References _tprintf(), DWORD, GetLogicalAddress(), and PDWORD.

Referenced by GenerateExceptionReport().

typedef Pol::Clib::MSJExceptionHandler::LPVOID ( __stdcall *  SYMFUNCTIONTABLEACCESSPROC)
private
LONG WINAPI Pol::Clib::MSJExceptionHandler::MSJUnhandledExceptionFilter ( PEXCEPTION_POINTERS  pExceptionInfo)
static
void Pol::Clib::MSJExceptionHandler::SetLogFileName ( PTSTR  pszLogFileName)

Definition at line 86 of file msjexhnd.cpp.

References m_szLogFileName.

Member Data Documentation

MSJExceptionHandler::STACKWALKPROC Pol::Clib::MSJExceptionHandler::_StackWalk = 0
staticprivate

Definition at line 70 of file msjexhnd.h.

Referenced by ImagehlpStackWalk(), and InitImagehlpFunctions().

MSJExceptionHandler::SYMCLEANUPPROC Pol::Clib::MSJExceptionHandler::_SymCleanup = 0
staticprivate

Definition at line 69 of file msjexhnd.h.

Referenced by GenerateExceptionReport(), and InitImagehlpFunctions().

MSJExceptionHandler::SYMFUNCTIONTABLEACCESSPROC Pol::Clib::MSJExceptionHandler::_SymFunctionTableAccess = 0
staticprivate

Definition at line 71 of file msjexhnd.h.

Referenced by ImagehlpStackWalk(), and InitImagehlpFunctions().

MSJExceptionHandler::SYMGETMODULEBASEPROC Pol::Clib::MSJExceptionHandler::_SymGetModuleBase = 0
staticprivate

Definition at line 72 of file msjexhnd.h.

Referenced by ImagehlpStackWalk(), and InitImagehlpFunctions().

MSJExceptionHandler::SYMGETSYMFROMADDRPROC Pol::Clib::MSJExceptionHandler::_SymGetSymFromAddr = 0
staticprivate

Definition at line 73 of file msjexhnd.h.

Referenced by ImagehlpStackWalk(), and InitImagehlpFunctions().

MSJExceptionHandler::SYMINITIALIZEPROC Pol::Clib::MSJExceptionHandler::_SymInitialize = 0
staticprivate

Definition at line 68 of file msjexhnd.h.

Referenced by InitImagehlpFunctions().

typedef Pol::Clib::MSJExceptionHandler::BOOL
private

Definition at line 54 of file msjexhnd.h.

typedef Pol::Clib::MSJExceptionHandler::DWORD
private
typedef Pol::Clib::MSJExceptionHandler::HANDLE
private

Definition at line 57 of file msjexhnd.h.

typedef Pol::Clib::MSJExceptionHandler::LPSTACKFRAME
private

Definition at line 57 of file msjexhnd.h.

typedef Pol::Clib::MSJExceptionHandler::LPSTR
private

Definition at line 54 of file msjexhnd.h.

typedef Pol::Clib::MSJExceptionHandler::LPVOID
private

Definition at line 57 of file msjexhnd.h.

HANDLE Pol::Clib::MSJExceptionHandler::m_hReportFile
staticprivate

Definition at line 49 of file msjexhnd.h.

Referenced by MSJUnhandledExceptionFilter().

LPTOP_LEVEL_EXCEPTION_FILTER Pol::Clib::MSJExceptionHandler::m_previousFilter
staticprivate

Definition at line 48 of file msjexhnd.h.

Referenced by MSJUnhandledExceptionFilter().

TCHAR Pol::Clib::MSJExceptionHandler::m_szLogFileName
staticprivate

Definition at line 47 of file msjexhnd.h.

Referenced by MSJExceptionHandler(), MSJUnhandledExceptionFilter(), and SetLogFileName().

typedef Pol::Clib::MSJExceptionHandler::PDWORD
private

Definition at line 66 of file msjexhnd.h.

Referenced by IntelStackWalk().

typedef Pol::Clib::MSJExceptionHandler::PFUNCTION_TABLE_ACCESS_ROUTINE
private

Definition at line 57 of file msjexhnd.h.

typedef Pol::Clib::MSJExceptionHandler::PGET_MODULE_BASE_ROUTINE
private

Definition at line 57 of file msjexhnd.h.

typedef Pol::Clib::MSJExceptionHandler::PIMAGEHLP_SYMBOL
private

Definition at line 66 of file msjexhnd.h.

Referenced by ImagehlpStackWalk().

typedef Pol::Clib::MSJExceptionHandler::PREAD_PROCESS_MEMORY_ROUTINE
private

Definition at line 57 of file msjexhnd.h.

typedef Pol::Clib::MSJExceptionHandler::PTRANSLATE_ADDRESS_ROUTINE
private

Definition at line 57 of file msjexhnd.h.


The documentation for this class was generated from the following files: