Cogs.Core
DebugFunctions.h
1#pragma once
2
3#include "BridgeApi.h"
4
5
6#ifdef _WIN32
7#pragma warning(push)
8#pragma warning(disable:4091)
9#include <WinSock2.h>
10#include <DbgHelp.h>
11#pragma warning(pop)
12
13
14COGSCORE_BRIDGE void createMiniDump(BridgeContext* ctx, EXCEPTION_POINTERS *);
15
16#define CHECKED(c, p) if (c->debug.enableExecutionChecks) { __try { p; } __except (createMiniDump(c, GetExceptionInformation() ), EXCEPTION_CONTINUE_SEARCH) {} } else { p; }
17
18#else
19
20COGSCORE_BRIDGE void createMiniDump(BridgeContext* ctx);
21
22#define CHECKED(c, p) p
23
24#endif
25
26COGSCORE_BRIDGE void enableExecutionChecks(BridgeContext* ctx, CogsBool enabled);
27
28COGSCORE_BRIDGE void setMiniDumpPath(BridgeContext* ctx, const char * path);
29COGSCORE_BRIDGE void setMiniDumpName(BridgeContext* ctx, const char * name);
30
31COGSCORE_BRIDGE void triggerAccessViolation(BridgeContext* ctx);