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 )