1 lib配置 項目-->屬性-->配置屬性-->鏈接器-->輸入-->附加依賴項 增加dbghelp.lib
2 頭文件
#include <imagehlp.h>
#include <Windows.h>
3 main函數
在第一行調用window api:SetUnhandledExceptionFilter(UnhandledExceptionFilter2);
4 UnhandledExceptionFilter2的實現
LONG WINAPI UnhandledExceptionFilter2(struct _EXCEPTION_POINTERS* ExceptionInfo)
{
string strDumpFile = "exception.dmp ";
HANDLE hFile = CreateFile(strDumpFile.c_str(), 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, MiniDumpWithFullMemory, &ExInfo, NULL, NULL );
CloseHandle(hFile);
}
return EXCEPTION_EXECUTE_HANDLER;
}