dump文件是进程一般用于程序崩溃前,生成的内存镜像文件,通过dump文件和程序编译生成的pdb文件来定位分析无法各种疑难杂症,只要有dump就能复现出当时崩溃的现象。
手动生成
先看下手动生成dump文件,任务管理器点击下创建转储文件,就会把进程的信息写入到对应的dump文件中。
其次,代码生成
#include "stdafx.h"
#include "windows.h"
#include "DbgHelp.h"
#include <iostream>
#include <fstream>
#include <ctime>
using namespace std;
//参考原文:https ://blog.csdn.net/tojohnonly/article/details/72845022
typedef BOOL(WINAPI * MiniDumpWriteDumpT)( HANDLE, DWORD, HANDLE,
MINIDUMP_TYPE,
PMINIDUMP_EXCEPTION_INFORMATION,
PMINIDUMP_USER_STREAM_INFORMATION,
PMINIDUMP_CALLBACK_INFORMATION );
int GenerateMiniDump(PEXCEPTION_POINTERS pExceptionPointers)
{
//动态加载DbgHelp.dll库,获取其中MiniDumpWriteDump的函数地址
//为什么要使用动态加载的方式&#x