📄 crash_reporter.cpp
字号:
/* $Id: crash_reporter.cpp,v 1.1 2003/09/08 20:23:31 mbn Exp $
**
** ClanLib Game SDK
** Copyright (C) 2003 The ClanLib Team
** For a total list of contributers see the file CREDITS.
**
** This library is free software; you can redistribute it and/or
** modify it under the terms of the GNU Lesser General Public
** License as published by the Free Software Foundation; either
** version 2.1 of the License, or (at your option) any later version.
**
** This library is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
** Lesser General Public License for more details.
**
** You should have received a copy of the GNU Lesser General Public
** License along with this library; if not, write to the Free Software
** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
**
*/
#include "Core/precomp.h"
#include "API/Core/System/crash_reporter.h"
#include "crash_reporter_generic.h"
#ifdef WIN32
#define CL_CrashReporter_Platform CL_CrashReporter_Win32
#include "../Win32/crash_reporter_win32.h"
#else
#define CL_CrashReporter_Platform CL_CrashReporter_Unix
#include "../Unix/crash_reporter_unix.h"
#endif
/////////////////////////////////////////////////////////////////////////////
// CrashReporter Construction:
CL_CrashReporter::CL_CrashReporter() : impl(new CL_CrashReporter_Platform)
{
impl->add_ref();
}
CL_CrashReporter::~CL_CrashReporter()
{
impl->release_ref();
}
/////////////////////////////////////////////////////////////////////////////
// CrashReporter Attributes:
static bool dump_to_file = true;
bool CL_CrashReporter::get_dump_to_file()
{
return dump_to_file;
}
void CL_CrashReporter::set_dump_to_file(bool enable)
{
dump_to_file = enable;
}
/////////////////////////////////////////////////////////////////////////////
// CrashReporter Operations:
CL_CrashReporter &CL_CrashReporter::operator =(const CL_CrashReporter ©)
{
if (impl == copy.impl) return *this;
impl->release_ref();
impl = copy.impl;
impl->add_ref();
return *this;
}
CL_Signal_v2<std::string, CL_CallStack> &CL_CrashReporter::sig_crash()
{
static CL_Signal_v2<std::string, CL_CallStack> signal;
return signal;
}
/////////////////////////////////////////////////////////////////////////////
// CL_CrashReporter Implementation:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -