-----------------------------------------------------------------------------
| 67 | |
| 68 | //----------------------------------------------------------------------------- |
| 69 | LONG WINAPI CreateMiniDumpOnUnHandledException(PEXCEPTION_POINTERS exceptionInfo) |
| 70 | { |
| 71 | MINIDUMP_EXCEPTION_INFORMATION minidumpInfo; |
| 72 | |
| 73 | std::wcerr << L"Unexpected error occurs." << std::endl; |
| 74 | |
| 75 | minidumpInfo.ThreadId = GetCurrentThreadId(); |
| 76 | minidumpInfo.ExceptionPointers = exceptionInfo; |
| 77 | minidumpInfo.ClientPointers = FALSE; |
| 78 | |
| 79 | const auto dmpFilename = L"OpenCppCoverage.dmp"; |
| 80 | HANDLE hFile = CreateFile(dmpFilename, GENERIC_WRITE, 0, nullptr, |
| 81 | CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, nullptr); |
| 82 | |
| 83 | if (hFile != INVALID_HANDLE_VALUE) |
| 84 | { |
| 85 | CreateMiniDump(minidumpInfo, hFile, dmpFilename); |
| 86 | CloseHandle(hFile); |
| 87 | } |
| 88 | abort(); |
| 89 | return 0; |
| 90 | } |
| 91 | } |
| 92 | |
| 93 | //------------------------------------------------------------------------- |
no test coverage detected