vs2010 程序出错异常后,自动生成dmp文件

LONG WINAPI UnhandledExceptionFilter_SpawDmp(struct _EXCEPTION_POINTERS* ExceptionInfo)
{
TCHAR strDumpFile[512] = {0}; 
_tcscpy( strDumpFile,_T("myprivate.dmp") );
HANDLE   hFile = CreateFile(strDumpFile,  GENERIC_WRITE, FILE_SHARE_WRITE, NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL, NULL);
if   (hFile!=INVALID_HANDLE_VALUE)

MINIDUMP_EXCEPTION_INFORMATION   ExInfo; 

ExInfo.ThreadId   =   ::GetCurrentThreadId();
ExInfo.ExceptionPointers   =   ExceptionInfo;
ExInfo.ClientPointers   =   NULL;

//   write   the   dump
BOOL   bOK   =   MiniDumpWriteDump(GetCurrentProcess(),   GetCurrentProcessId(),   hFile,   MiniDumpNormal,  &ExInfo,   NULL,   NULL   );
CloseHandle(hFile); 

::PostThreadMessage(GetCurrentThreadId(),WM_QUIT,0,0);
return EXCEPTION_EXECUTE_HANDLER;
}

你可能感兴趣的:(vs2010 程序出错异常后,自动生成dmp文件)