#include "stdafx.h" #include #include #include #pragma comment(lib,"DbgHelp") long __stdcall CrashInfocallback(_EXCEPTION_POINTERS *pexcp) { //创建 Dump 文件 HANDLE hDumpFile = ::CreateFile( "dump.DMP", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL ); if (hDumpFile != INVALID_HANDLE_VALUE) { //Dump信息 MINIDUMP_EXCEPTION_INFORMATION dumpInfo; dumpInfo.ExceptionPointers = pexcp; dumpInfo.ThreadId = GetCurrentThreadId(); dumpInfo.ClientPointers = TRUE; //写入Dump文件内容 ::MiniDumpWriteDump( GetCurrentProcess(), GetCurrentProcessId(), hDumpFile, MiniDumpNormal, &dumpInfo, NULL, NULL ); ::CloseHandle(hDumpFile); } return 0; }