wxSEHReport renamed to wxCrashReport enhanced and debugged; seems to work

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21936 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2003-07-13 21:18:04 +00:00
parent 335991afa5
commit 50bea10032
3 changed files with 1144 additions and 589 deletions

View File

@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////
// Name: wx/msw/seh.h
// Name: wx/msw/crashrpt.h
// Purpose: helpers for the structured exception handling (SEH) under Win32
// Author: Vadim Zeitlin
// Modified by:
@@ -17,10 +17,32 @@
#if wxUSE_ON_FATAL_EXCEPTION
// ----------------------------------------------------------------------------
// wxSEHReport: this class is used as a namespace for the SEH-related functions
// report generation flags
// ----------------------------------------------------------------------------
struct WXDLLIMPEXP_BASE wxSEHReport
enum
{
// we always report where the crash occured
wxCRASH_REPORT_LOCATION = 0,
// if this flag is given, the call stack is dumped
wxCRASH_REPORT_STACK = 1,
// if this flag is given, the values of the local variables are dumped
wxCRASH_REPORT_LOCALS = 2,
// if this flag is given, the values of all global variables are dumped
//
// 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
};
// ----------------------------------------------------------------------------
// wxCrashReport: this class is used to create crash reports
// ----------------------------------------------------------------------------
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
@@ -31,7 +53,9 @@ struct WXDLLIMPEXP_BASE wxSEHReport
// write the exception report to the file, return true if it could be done
// or false otherwise
static bool Generate();
static bool Generate(int flags = wxCRASH_REPORT_LOCATION |
wxCRASH_REPORT_STACK |
wxCRASH_REPORT_LOCALS);
};
#endif // wxUSE_ON_FATAL_EXCEPTION