wxWidgets/include/wx/msw/crashrpt.h

70 lines
2.3 KiB
C
Raw Normal View History

///////////////////////////////////////////////////////////////////////////////
// Name: wx/msw/crashrpt.h
// Purpose: helpers for the structured exception handling (SEH) under Win32
// Author: Vadim Zeitlin
// Modified by:
// Created: 13.07.2003
// RCS-ID: $Id$
// Copyright: (c) 2003 Vadim Zeitlin <vadim@wxwidgets.org>
// Licence: wxWidgets licence
///////////////////////////////////////////////////////////////////////////////
#ifndef _WX_MSW_SEH_H_
#define _WX_MSW_SEH_H_
#include "wx/defs.h"
#if wxUSE_ON_FATAL_EXCEPTION
// ----------------------------------------------------------------------------
// report generation flags
// ----------------------------------------------------------------------------
enum
{
// we always report where the crash occured
wxCRASH_REPORT_LOCATION = 0,
// if this flag is given, the call stack is dumped
//
// this results in dump/crash report as small as possible, this is the
// default flag
wxCRASH_REPORT_STACK = 1,
// if this flag is given, the values of the local variables are dumped
//
// note that this will result in huge file containing the dump of the
// entire process memory space when using mini dumps!
wxCRASH_REPORT_LOCALS = 2,
// if this flag is given, the values of all global variables are dumped
//
// this creates a much larger mini dump and also takes more time to
// generate if our own crash reporting code is used
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
static void SetFileName(const wxChar *filename);
// return the current file name
static const wxChar *GetFileName();
// write the exception report to the file, return true if it could be done
// or false otherwise
static bool Generate(int flags = wxCRASH_REPORT_LOCATION |
wxCRASH_REPORT_STACK);
};
#endif // wxUSE_ON_FATAL_EXCEPTION
#endif // _WX_MSW_SEH_H_