使用DbgHelp提供的MiniDumpWriteDump函数可以在程序崩溃的时候产生包含足够多信息的MiniDump文件供调试程序使用。
1. MiniDumpWriteDump的声明如下
详见: http://msdn.microsoft.com/en-us/library/windows/desktop/ms680360(v=vs.85).aspx
2. 作为示例,下面的代码段将在程序执行的当前目录下生成文件名为MyDump.dmp的DMP文件:
DWORD CreateMiniDump(EXCEPTION_POINTERS *pExceptionPointers)
{
CHAR szFileName[MAX_PATH];
HANDLE hDumpFile = NULL;
MINIDUMP_EXCEPTION_INFORMATION mdei;
//
memset(&mdei, 0x00, sizeof(MINIDUMP_EXCEPTION_INFORMATION));
mdei.ThreadId = GetCurrentThreadId();
mdei.ExceptionPointers = pExceptionPointers;
mdei.ClientPointers = FALSE;
//
// create dump file
//
memset(szFileName, 0x00, MAX_PATH);
GetModuleFileName(NULL, szFileName,