]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/crashrpt.h
Implement monitoring of file descriptors in wxMotif event loop.
[wxWidgets.git] / include / wx / msw / crashrpt.h
index 8f602e9b2dcee5494b25eae4c7bd0ebc29f28187..6ee6e75205c357dcc45b9ec5d02650d045a2a7d2 100644 (file)
@@ -24,7 +24,7 @@ struct _EXCEPTION_POINTERS;
 
 enum
 {
-    // we always report where the crash occured
+    // we always report where the crash occurred
     wxCRASH_REPORT_LOCATION = 0,
 
     // if this flag is given, the call stack is dumped
@@ -48,7 +48,10 @@ enum
     //
     // 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
+    wxCRASH_REPORT_GLOBALS = 4,
+
+    // default is to create the smallest possible crash report
+    wxCRASH_REPORT_DEFAULT = wxCRASH_REPORT_LOCATION | wxCRASH_REPORT_STACK
 };
 
 // ----------------------------------------------------------------------------
@@ -91,20 +94,24 @@ struct WXDLLIMPEXP_BASE wxCrashReport
 {
     // set the name of the file to which the report is written, it is
     // constructed from the .exe name by default
-    static void SetFileName(const wxChar *filename);
+    static void SetFileName(const wxString& filename);
 
     // return the current file name
-    static const wxChar *GetFileName();
+    static wxString GetFileName();
 
     // write the exception report to the file, return true if it could be done
     // or false otherwise
     //
     // if ep pointer is NULL, the global exception info which is valid only
     // inside wxApp::OnFatalException() is used
-    static bool Generate(int flags = wxCRASH_REPORT_LOCATION |
-                                     wxCRASH_REPORT_STACK,
+    static bool Generate(int flags = wxCRASH_REPORT_DEFAULT,
                          _EXCEPTION_POINTERS *ep = NULL);
 
+
+    // generate a crash report from outside of wxApp::OnFatalException(), this
+    // can be used to take "snapshots" of the program in wxApp::OnAssert() for
+    // example
+    static bool GenerateNow(int flags = wxCRASH_REPORT_DEFAULT);
 };
 
 #endif // wxUSE_CRASHREPORT