BugSplat Native Windows DLL
BugSplat API reference for native Windows applications.
bugsplat.h File Reference
#include <Windows.h>

Go to the source code of this file.


class  MiniDmpSender
 The MiniDmpSender class is used to add BugSplat crash reporting to your app. More...


#define MDS_EXPORT   __declspec(dllimport)
#define MDSF_NONINTERACTIVE   0x0001
 This flag automatically submits a crash report, without prompting the user with a dialog box. More...
#define MDSF_FORCEEXIT   0x0002
#define MDSF_DETECTHANGS   0x0008
#define MDSF_USEGUARDMEMORY   0x0010
#define MDSF_LOGCONSOLE   0x1000
#define MDSF_LOGFILE   0x2000
#define MDSF_LOG_VERBOSE   0x4000
#define MDSCB_EXCEPTIONCODE   0x0050
 Definitions for the BugSplat exception call back codes. More...


typedef bool(__cdecl * MiniDmpSenderCallback) (UINT nCode, LPVOID lVal1, LPVOID lVal2)

Macro Definition Documentation


#define MDS_EXPORT   __declspec(dllimport)


#define MDSCB_EXCEPTIONCODE   0x0050

Definitions for the BugSplat exception call back codes.

nCode: MDSCB_EXCEPTIONCODE lVal1: EXCEPTION_RECORD*, pointer to the exception record responsible for the crash lVal2: Reserved



BugSplat operates using the SetUnhandledExceptionFilter method. Use this flag if you want to use your own exception handling mechanism instead. To initiate a BugSplat crash report, you need to call unhandledExceptionHandler within your own exception filter method


#define MDSF_DETECTHANGS   0x0008

This flag launches the BugSplatHD.exe process with the current process id. The process runs in low priority, and periodically performs tests on the main process id to determine if it has hung. The burden on the OS is extremely low, and will only consume a few CPU cycles each minute.


#define MDSF_FORCEEXIT   0x0002

This flag will force the application to exit after posting a BugSplat report. The default behavior is to continue calling the other unhandled exception filters in the unhandled exception chain.


#define MDSF_LOG_VERBOSE   0x4000


#define MDSF_LOGCONSOLE   0x1000

These flags control output of the BugSplat log output, typically used for development/debugging. If MDSF_LOGCONSOLE is set, logging information is sent to the debugger console. If MDSF_LOGFILE is set, logging information is added to the file 'bugsplat.log' in the system temp directory and included in the crash report zip file.


#define MDSF_LOGFILE   0x2000


#define MDSF_NONINTERACTIVE   0x0001

This flag automatically submits a crash report, without prompting the user with a dialog box.



This flag prevents other threads in the process from hijacking the Exception filter. It is useful when you want to prevent 3rd party libraries included with your application or the Operating System from disabling BugSplat integration. It is recommended that you use this setting



EXPERIMENTAL Use this flag to suspend all threads in the process prior to capturing the crash report data. This might be used to prevent security libraries from detecting the debugging commands used by BugSplat and terminating the app before the crash has a chance to be reported.


#define MDSF_USEGUARDMEMORY   0x0010

The guard memory flag causes the BugSplat library to pre-allocate a 4MB chunk of data on the heap. When a crash is encountered, this heap data is deleted and might be useful in low memory scenarios

Typedef Documentation

◆ MiniDmpSenderCallback

typedef bool(__cdecl * MiniDmpSenderCallback) (UINT nCode, LPVOID lVal1, LPVOID lVal2)

If a callback function is registered with MiniDmpSender it is notified when data or information is required from the main app A list of callback codes appears at the end of this file...