From ad119ce556b1855d2a7e148ce0c57889dccb5e88 Mon Sep 17 00:00:00 2001 From: faketruth Date: Sat, 22 Oct 2011 00:15:12 +0000 Subject: Found something that calls a function when a segfault happens, might be useful. git-svn-id: http://mc-server.googlecode.com/svn/trunk@7 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/main.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'source') diff --git a/source/main.cpp b/source/main.cpp index d17456af1..011a50f83 100644 --- a/source/main.cpp +++ b/source/main.cpp @@ -4,9 +4,19 @@ #include "cRoot.h" #include "cMCLogger.h" -//#ifdef _WIN32 -#include -//#endif +#include //std::exception +#include //printf +#include //std::signal +#include //exit() + +void ShowCrashReport(int) +{ + std::signal(SIGSEGV, SIG_DFL); + + printf("\n\nMCServer has crashed!\n"); + + exit(-1); +} int main( int argc, char **argv ) { @@ -16,9 +26,11 @@ int main( int argc, char **argv ) _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); #endif + std::signal(SIGSEGV, ShowCrashReport); + try { - cRoot Root; + cRoot Root; Root.Start(); } catch( std::exception& e ) -- cgit v1.2.3