diff options
author | Mattes D <github@xoft.cz> | 2014-12-04 22:04:16 +0100 |
---|---|---|
committer | Mattes D <github@xoft.cz> | 2014-12-04 22:04:16 +0100 |
commit | c014f5624c1eda400c08c305978bbcef3f554ff3 (patch) | |
tree | fd15deecb2e9afa17443f9b8a8c51676ad6e0145 /src/main.cpp | |
parent | Fixed indent. (diff) | |
parent | Merge pull request #1645 from jonfabe/SpectatorModeFixes (diff) | |
download | cuberite-c014f5624c1eda400c08c305978bbcef3f554ff3.tar cuberite-c014f5624c1eda400c08c305978bbcef3f554ff3.tar.gz cuberite-c014f5624c1eda400c08c305978bbcef3f554ff3.tar.bz2 cuberite-c014f5624c1eda400c08c305978bbcef3f554ff3.tar.lz cuberite-c014f5624c1eda400c08c305978bbcef3f554ff3.tar.xz cuberite-c014f5624c1eda400c08c305978bbcef3f554ff3.tar.zst cuberite-c014f5624c1eda400c08c305978bbcef3f554ff3.zip |
Diffstat (limited to 'src/main.cpp')
-rw-r--r-- | src/main.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/main.cpp b/src/main.cpp index b6ee8c0a7..d4adc1ed9 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -61,6 +61,7 @@ void NonCtrlHandler(int a_Signal) std::signal(SIGSEGV, SIG_DFL); LOGERROR(" D: | MCServer has encountered an error and needs to close"); LOGERROR("Details | SIGSEGV: Segmentation fault"); + PrintStackTrace(); abort(); } case SIGABRT: @@ -71,6 +72,7 @@ void NonCtrlHandler(int a_Signal) std::signal(a_Signal, SIG_DFL); LOGERROR(" D: | MCServer has encountered an error and needs to close"); LOGERROR("Details | SIGABRT: Server self-terminated due to an internal fault"); + PrintStackTrace(); abort(); } case SIGINT: @@ -137,6 +139,9 @@ LONG WINAPI LastChanceExceptionFilter(__in struct _EXCEPTION_POINTERS * a_Except g_WriteMiniDump(GetCurrentProcess(), GetCurrentProcessId(), dumpFile, g_DumpFlags, (a_ExceptionInfo) ? &ExcInformation : nullptr, nullptr, nullptr); CloseHandle(dumpFile); + // Print the stack trace for the basic debugging: + PrintStackTrace(); + // Revert to old stack: _asm { @@ -182,7 +187,7 @@ int main( int argc, char **argv) #if defined(_MSC_VER) && defined(_DEBUG) && defined(ENABLE_LEAK_FINDER) InitLeakFinder(); #endif - + // Magic code to produce dump-files on Windows if the server crashes: #if defined(_WIN32) && !defined(_WIN64) && defined(_MSC_VER) HINSTANCE hDbgHelp = LoadLibrary("DBGHELP.DLL"); |