iw4x-client/src/Components/Modules/Exception.hpp

28 lines
754 B
C++
Raw Normal View History

2017-01-20 08:36:52 -05:00
#pragma once
2017-01-19 16:23:59 -05:00
namespace Components
{
class Exception : public Component
{
public:
Exception();
~Exception();
static LPTOP_LEVEL_EXCEPTION_FILTER Hook();
static void SetMiniDumpType(bool codeseg, bool dataseg);
2017-01-19 16:23:59 -05:00
private:
static void SuspendProcess();
2017-01-19 16:23:59 -05:00
static LONG WINAPI ExceptionFilter(LPEXCEPTION_POINTERS ExceptionInfo);
static LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilterStub(LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter);
static __declspec(noreturn) void ErrorLongJmp(jmp_buf _Buf, int _Value);
static __declspec(noreturn) void LongJmp(jmp_buf _Buf, int _Value);
static void CopyMessageToClipboard(const std::string& error);
2017-01-19 16:23:59 -05:00
static int MiniDumpType;
2017-01-19 16:23:59 -05:00
static Utils::Hook SetFilterHook;
};
}