crashrpt
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
CCrashHandler Class Reference

Public Member Functions

int Init (__in_opt LPCTSTR lpcszAppName=NULL, __in_opt LPCTSTR lpcszAppVersion=NULL, __in_opt LPCTSTR lpcszCrashSenderPath=NULL, __in_opt LPGETLOGFILE lpfnCallback=NULL, __in_opt LPCTSTR lpcszTo=NULL, __in_opt LPCTSTR lpcszSubject=NULL, __in_opt LPCTSTR lpcszUrl=NULL, __in_opt UINT(*puPriorities)[5]=NULL, DWORD dwFlags=0, __in_opt LPCTSTR lpcszPrivacyPolicyURL=NULL, __in_opt LPCTSTR lpcszDebugHelpDLLPath=NULL, MINIDUMP_TYPE MiniDumpType=MiniDumpNormal, __in_opt LPCTSTR lpcszErrorReportSaveDir=NULL, __in_opt LPCTSTR lpcszRestartCmdLine=NULL, __in_opt LPCTSTR lpcszLangFilePath=NULL, __in_opt LPCTSTR lpcszEmailText=NULL, __in_opt LPCTSTR lpcszSmtpProxy=NULL, __in_opt LPCTSTR lpcszCustomSenderIcon=NULL, __in_opt LPCTSTR lpcszSmtpLogin=NULL, __in_opt LPCTSTR lpcszSmtpPassword=NULL, __in_opt int nRestartTimeout=0)
 
BOOL IsInitialized ()
 
int Destroy ()
 
int SetCrashCallbackW (PFNCRASHCALLBACKW pfnCallback, LPVOID pUserParam)
 
int SetCrashCallbackA (PFNCRASHCALLBACKA pfnCallback, LPVOID pUserParam)
 
int AddFile (__in_z LPCTSTR lpFile, __in_opt LPCTSTR lpDestFile, __in_opt LPCTSTR lpDesc, DWORD dwFlags)
 
int AddProperty (CString sPropName, CString sPropValue)
 
int AddScreenshot (DWORD dwFlags, int nJpegQuality)
 
int AddVideo (DWORD dwFlags, int nDuration, int nFrameInterval, SIZE *pDesiredFrameSize, HWND hWndParent)
 
int AddRegKey (__in_z LPCTSTR szRegKey, __in_z LPCTSTR szDstFileName, DWORD dwFlags)
 
int GenerateErrorReport (__in_opt PCR_EXCEPTION_INFO pExceptionInfo=NULL)
 
int SetProcessExceptionHandlers (DWORD dwFlags)
 
int UnSetProcessExceptionHandlers ()
 
int SetThreadExceptionHandlers (DWORD dwFlags)
 
int UnSetThreadExceptionHandlers ()
 
DWORD GetFlags ()
 
void GetExceptionPointers (DWORD dwExceptionCode, EXCEPTION_POINTERS *pExceptionPointers)
 
CRASH_DESCRIPTIONPackCrashInfoIntoSharedMem (__in CSharedMem *pSharedMem, BOOL bTempMem)
 
DWORD PackString (CString str)
 
DWORD PackFileItem (FileItem &fi)
 
DWORD PackProperty (CString sName, CString sValue)
 
DWORD PackRegKey (CString sKeyName, RegKeyInfo &rki)
 
int LaunchCrashSender (LPCTSTR szCmdLineParams, BOOL bWait, __out_opt HANDLE *phProcess)
 
BOOL IsSenderProcessAlive ()
 
void InitPrevExceptionHandlerPointers ()
 
int PerCrashInit ()
 
void Repack ()
 
void UpdateEmailSubject (LPCWSTR pszSubject)
 
void CrashLock (BOOL bLock)
 
int CallBack (int nStage, CR_EXCEPTION_INFO *pExInfo)
 
 void (__cdecl *m_prevSigABRT)(int)
 
 void (__cdecl *m_prevSigINT)(int)
 
 void (__cdecl *m_prevSigTERM)(int)
 

Static Public Member Functions

static CCrashHandlerGetCurrentProcessCrashHandler ()
 
static void ReleaseCurrentProcessCrashHandler ()
 
static LONG WINAPI SehHandler (__in PEXCEPTION_POINTERS pExceptionPtrs)
 
static DWORD WINAPI StackOverflowThreadFunction (LPVOID threadParameter)
 
static void __cdecl TerminateHandler ()
 
static void __cdecl UnexpectedHandler ()
 
static void SigabrtHandler (int)
 
static void SigfpeHandler (int, int subcode)
 
static void SigintHandler (int)
 
static void SigillHandler (int)
 
static void SigsegvHandler (int)
 
static void SigtermHandler (int)
 

Public Attributes

LPTOP_LEVEL_EXCEPTION_FILTER m_oldSehHandler
 
std::map< DWORD, ThreadExceptionHandlersm_ThreadExceptionHandlers
 
CCritSec m_csThreadExceptionHandlers
 
BOOL m_bInitialized
 
CString m_sAppName
 
CString m_sAppVersion
 
CString m_sCrashGUID
 
CString m_sImageName
 
DWORD m_dwFlags
 
MINIDUMP_TYPE m_MinidumpType
 
CString m_sRestartCmdLine
 
int m_nRestartTimeout
 
CString m_sUrl
 
CString m_sEmailTo
 
int m_nSmtpPort
 
CString m_sSmtpProxyServer
 
int m_nSmtpProxyPort
 
CString m_sSmtpLogin
 
CString m_sSmtpPassword
 
CString m_sEmailSubject
 
CString m_sEmailText
 
UINT m_uPriorities [3]
 
CString m_sPrivacyPolicyURL
 
CString m_sPathToCrashSender
 
CString m_sLangFileName
 
CString m_sPathToDebugHelpDll
 
CString m_sUnsentCrashReportsFolder
 
LPGETLOGFILE m_lpfnCallback
 
BOOL m_bAddScreenshot
 
DWORD m_dwScreenshotFlags
 
int m_nJpegQuality
 
BOOL m_bAddVideo
 
DWORD m_dwVideoFlags
 
int m_nVideoDuration
 
int m_nVideoFrameInterval
 
SIZE m_DesiredFrameSize
 
HWND m_hWndVideoParent
 
CString m_sCustomSenderIcon
 
std::map< CString, FileItemm_files
 
std::map< CString, CString > m_props
 
std::map< CString, RegKeyInfom_RegKeys
 
CCritSec m_csCrashLock
 
HANDLE m_hEvent
 
HANDLE m_hEvent2
 
CSharedMem m_SharedMem
 
CRASH_DESCRIPTIONm_pCrashDesc
 
CSharedMemm_pTmpSharedMem
 
CRASH_DESCRIPTIONm_pTmpCrashDesc
 
HANDLE m_hSenderProcess
 
PFNCRASHCALLBACKW m_pfnCallback2W
 
PFNCRASHCALLBACKA m_pfnCallback2A
 
LPVOID m_pCallbackParam
 
std::string m_sErrorReportDirA
 
std::wstring m_sErrorReportDirW
 
int m_nCallbackRetCode
 
BOOL m_bContinueExecution
 

Static Public Attributes

static CCrashHandlerm_pProcessCrashHandler = NULL
 

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