//首先,定义异常处理函数
LONG WINAPI ExceptionFilter(LPEXCEPTION_POINTERS lpExceptionInfo) { typedef BOOL(WINAPI * MiniDumpWriteDumpT)( HANDLE, DWORD, HANDLE, MINIDUMP_TYPE, PMINIDUMP_EXCEPTION_INFORMATION, PMINIDUMP_USER_STREAM_INFORMATION, PMINIDUMP_CALLBACK_INFORMATION ); MiniDumpWriteDumpT pfnMiniDumpWriteDump = NULL; HMODULE hDbgHelp = LoadLibrary("DbgHelp.dll"); if (hDbgHelp) { pfnMiniDumpWriteDump = (MiniDumpWriteDumpT)GetProcAddress(hDbgHelp, "MiniDumpWriteDump"); } if (pfnMiniDumpWriteDump) { char szFileName[MAX_PATH] = { 0 }; ::GetModuleFileName(NULL, szFileName, _MAX_PATH); string str = szFileName; str = str.substr(0, str.length() - 4) + ".dmp"; HANDLE hFile = ::CreateFile(str.c_str(), G
程序崩溃时生成DUMP文件
最新推荐文章于 2023-12-10 21:24:20 发布