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
This commit is contained in:
parent
c7b4b9f819
commit
ad119ce556
@ -4,9 +4,19 @@
|
|||||||
#include "cRoot.h"
|
#include "cRoot.h"
|
||||||
#include "cMCLogger.h"
|
#include "cMCLogger.h"
|
||||||
|
|
||||||
//#ifdef _WIN32
|
#include <exception> //std::exception
|
||||||
#include <exception>
|
#include <stdio.h> //printf
|
||||||
//#endif
|
#include <csignal> //std::signal
|
||||||
|
#include <stdlib.h> //exit()
|
||||||
|
|
||||||
|
void ShowCrashReport(int)
|
||||||
|
{
|
||||||
|
std::signal(SIGSEGV, SIG_DFL);
|
||||||
|
|
||||||
|
printf("\n\nMCServer has crashed!\n");
|
||||||
|
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
|
||||||
int main( int argc, char **argv )
|
int main( int argc, char **argv )
|
||||||
{
|
{
|
||||||
@ -16,6 +26,8 @@ int main( int argc, char **argv )
|
|||||||
_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
|
_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
std::signal(SIGSEGV, ShowCrashReport);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
cRoot Root;
|
cRoot Root;
|
||||||
|
Loading…
Reference in New Issue
Block a user