void __cdecl PrintSharedPtrInformation(bool m_sharedPtrDestructed, long references) { if(!m_sharedPtrDestructed) spEcho("Failure to call Destructor method on deletion.\n"); if(references) spEcho("Destructor() called when it has %i references left in memory!\n", references); spEcho("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n"); spEcho("Call Stack: \n"); CStackWalker sw; sw.ShowCallstack(TRUE); spEcho("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n"); }
void PrintCrashInformation(PEXCEPTION_POINTERS except) { echo("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n"); echo("Server has crashed. Reason was:\n"); echo(" %s at 0x%08X\n", GetExceptionDescription(except->ExceptionRecord->ExceptionCode), (unsigned long)except->ExceptionRecord->ExceptionAddress); #ifdef REPACK echo("%s repack by %s has crashed. Visit %s for support.", REPACK, REPACK_AUTHOR, REPACK_WEBSITE); #endif echo("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n"); echo("Call Stack: \n"); CStackWalker sw; sw.ShowCallstack(); echo("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n"); }
void PrintCrashInformation(PEXCEPTION_POINTERS except) { time_t curtime = time(NULL); tm * pTime = localtime(&curtime); echo("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n"); echo("Server has crashed. Reason was:\n"); echo(" %s at 0x%08X\n", GetExceptionDescription(except->ExceptionRecord->ExceptionCode), (unsigned long)except->ExceptionRecord->ExceptionAddress); if(pTime) echo("Logged at: %u %u %u %u %u", pTime->tm_mon, pTime->tm_mday, pTime->tm_hour, pTime->tm_min, pTime->tm_sec); echo("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n"); echo("Call Stack: \n"); CStackWalker sw; sw.ShowCallstack(); echo("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n"); }