CX Framework
Cross-platform C utility framework
Loading...
Searching...
No Matches
crash.h
Go to the documentation of this file.
1#pragma once
2
45
46#include <cx/cx.h>
47
48CX_C_BEGIN
49
81
86#define DBG_CrashInteractive \
87 (DBG_CrashExit | DBG_CrashPrompt | DBG_CrashProgressUI | DBG_CrashDelete)
88
93#define DBG_CrashNonInteractive \
94 (DBG_CrashExit | DBG_CrashDump | DBG_CrashUpload | DBG_CrashAlwaysDelete)
95
106void dbgCrashSetMode(uint32 mode);
107
111
117bool dbgCrashSetPath(_In_ strref path);
118
138typedef bool (*dbgCrashCallback)(bool after);
139
146
150
163void dbgCrashIncludeMemory(const void* ptr, size_t sz);
164
171void dbgCrashExcludeMemory(const void* ptr, size_t sz);
172
185void dbgCrashAddMetaStr(_In_z_ const char* name, _In_z_ const char* val);
186
192void dbgCrashAddMetaInt(_In_z_ const char* name, int val);
193
203void dbgCrashAddVersionStr(_In_z_ const char* name, _In_z_ const char* val);
204
210void dbgCrashAddVersionInt(_In_z_ const char* name, int val);
211
223void _no_return dbgCrashNow(int skipframes);
224
226
227CX_C_END
bool dbgCrashSetPath(strref path)
uint32 dbgCrashGetMode()
void dbgCrashSetMode(uint32 mode)
void dbgCrashAddCallback(dbgCrashCallback cb)
void dbgCrashAddMetaStr(const char *name, const char *val)
DEBUG_CRASH_FLAGS_ENUM
Definition crash.h:53
void dbgCrashAddVersionStr(const char *name, const char *val)
void dbgCrashExcludeMemory(const void *ptr, size_t sz)
bool(* dbgCrashCallback)(bool after)
Definition crash.h:138
void dbgCrashRemoveCallback(dbgCrashCallback cb)
void _no_return dbgCrashNow(int skipframes)
void dbgCrashAddMetaInt(const char *name, int val)
void dbgCrashIncludeMemory(const void *ptr, size_t sz)
void dbgCrashAddVersionInt(const char *name, int val)
@ DBG_CrashBreakpoint
Trigger breakpoint for debugger attachment.
Definition crash.h:63
@ DBG_CrashExit
Exit process gracefully after handling crash.
Definition crash.h:55
@ DBG_CrashPrompt
Prompt user upon crash; user can choose crash handling options.
Definition crash.h:77
@ DBG_CrashProgressUI
Show progress UI while uploading crash report.
Definition crash.h:69
@ DBG_CrashPromptLocal
Prompt user but disallow upload (implies CrashPrompt)
Definition crash.h:79
@ DBG_CrashInternal
Submit to internal endpoint rather than public reporting service.
Definition crash.h:67
@ DBG_CrashDevMode
Process is in development mode; allow debugging and special handling.
Definition crash.h:71
@ DBG_CrashFullDump
Generate full memory dump (large, includes entire process)
Definition crash.h:59
@ DBG_CrashUpload
Submit crash report to reporting service.
Definition crash.h:61
@ DBG_CrashDump
Generate minidump (small memory dump)
Definition crash.h:57
@ DBG_CrashNotify
Show notification dialog but do not offer user options.
Definition crash.h:73
@ DBG_CrashAlwaysDelete
Delete dump file even if upload fails (implies CrashDelete)
Definition crash.h:75
@ DBG_CrashDelete
Delete dump file after successful upload.
Definition crash.h:65