- // WARNING: this may take a very long time and generate megabytes of output
- // in a big program, this is why it is off by default
- wxCRASH_REPORT_GLOBALS = 4
+ // this creates a much larger mini dump than just wxCRASH_REPORT_STACK but
+ // still much smaller than wxCRASH_REPORT_LOCALS one
+ wxCRASH_REPORT_GLOBALS = 4,
+
+ // default is to create the smallest possible crash report
+ wxCRASH_REPORT_DEFAULT = wxCRASH_REPORT_LOCATION | wxCRASH_REPORT_STACK
+};
+
+// ----------------------------------------------------------------------------
+// wxCrashContext: information about the crash context
+// ----------------------------------------------------------------------------
+
+struct WXDLLIMPEXP_BASE wxCrashContext
+{
+ // initialize this object with the given information or from the current
+ // global exception info which is only valid inside wxApp::OnFatalException
+ wxCrashContext(_EXCEPTION_POINTERS *ep = NULL);
+
+ // get the name for this exception code
+ wxString GetExceptionString() const;
+
+
+ // exception code
+ size_t code;
+
+ // exception address
+ void *addr;
+
+ // machine-specific registers vaues
+ struct
+ {
+#ifdef __INTEL__
+ wxInt32 eax, ebx, ecx, edx, esi, edi,
+ ebp, esp, eip,
+ cs, ds, es, fs, gs, ss,
+ flags;
+#endif // __INTEL__
+ } regs;