aboutsummaryrefslogtreecommitdiff
path: root/libs/installer_fomod_plus/installer/lib/CrashHandler.h
blob: 78c85528f5382dbf82f95865f0b155ebce3a337f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma once

#ifdef _WIN32
#include <windows.h>
#endif

class CrashHandler {
public:
    static void initialize();
    static void cleanup();

private:
#ifdef _WIN32
    static LONG WINAPI unhandledExceptionFilter(EXCEPTION_POINTERS* exceptionInfo);
    static LONG WINAPI vectoredExceptionHandler(EXCEPTION_POINTERS* exceptionInfo);
    static void logCrashInfo(const EXCEPTION_POINTERS* exceptionInfo);
    static LPTOP_LEVEL_EXCEPTION_FILTER previousFilter;
    static PVOID vectoredHandler;
#endif
};