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();
|
|
|
|
|
2017-02-09 16:16:49 -05:00
|
|
|
static void SetMiniDumpType(bool codeseg, bool dataseg);
|
2017-02-06 15:51:46 -05:00
|
|
|
|
2017-01-19 16:23:59 -05:00
|
|
|
private:
|
2017-02-10 03:50:08 -05:00
|
|
|
static void SuspendProcess();
|
2017-01-19 16:23:59 -05:00
|
|
|
static LONG WINAPI ExceptionFilter(LPEXCEPTION_POINTERS ExceptionInfo);
|
2022-12-25 12:23:53 -05:00
|
|
|
static __declspec(noreturn) void LongJmp_Internal_Stub(jmp_buf env, int status);
|
2022-02-10 07:14:43 -05:00
|
|
|
|
|
|
|
static void CopyMessageToClipboard(const std::string& error);
|
2017-01-19 16:23:59 -05:00
|
|
|
|
2022-12-27 04:40:54 -05:00
|
|
|
static LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter_Stub(LPTOP_LEVEL_EXCEPTION_FILTER);
|
|
|
|
|
2017-02-10 03:50:08 -05:00
|
|
|
static int MiniDumpType;
|
2017-01-19 16:23:59 -05:00
|
|
|
static Utils::Hook SetFilterHook;
|
|
|
|
};
|
|
|
|
}
|