in GomokuServer/GomokuServer/Exception.cpp [12:52]
void MakeDump(EXCEPTION_POINTERS* e)
{
TCHAR tszFileName[MAX_BUFF_SIZE] = { 0 };
SYSTEMTIME stTime = { 0 };
GetSystemTime(&stTime);
StringCbPrintf(tszFileName,
_countof(tszFileName),
_T("logs\\%s_%4d%02d%02d_%02d%02d%02d.dmp"),
_T("GomokuGameServer"),
stTime.wYear,
stTime.wMonth,
stTime.wDay,
stTime.wHour,
stTime.wMinute,
stTime.wSecond);
HANDLE hFile = CreateFile(tszFileName, GENERIC_WRITE, FILE_SHARE_READ, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
if (hFile == INVALID_HANDLE_VALUE)
return;
MINIDUMP_EXCEPTION_INFORMATION exceptionInfo;
exceptionInfo.ThreadId = GetCurrentThreadId();
exceptionInfo.ExceptionPointers = e;
exceptionInfo.ClientPointers = FALSE;
MiniDumpWriteDump(
GetCurrentProcess(),
GetCurrentProcessId(),
hFile,
MINIDUMP_TYPE(MiniDumpWithIndirectlyReferencedMemory | MiniDumpScanMemory | MiniDumpWithFullMemory),
e ? &exceptionInfo : NULL,
NULL,
NULL);
if (hFile)
{
CloseHandle(hFile);
hFile = NULL;
}
}