#include <windows.h>
#include <Dbghelp.h>
LONG ApplicationCrashHandler(EXCEPTION_POINTERS *pException)
{
//创建 Dump 文件
HANDLE hDumpFile = CreateFile("crash.dmp",
GENERIC_WRITE,
0, // 不共享
NULL, // 默认安全描述符
CREATE_ALWAYS, // 如果文件存在,则覆盖
FILE_ATTRIBUTE_NORMAL, // 文件属性
NULL);
if (hDumpFile != INVALID_HANDLE_VALUE)
{
//Dump信息
MINIDUMP_EXCEPTION_INFORMATION dumpInfo;
dumpInfo.ExceptionPointers = pException;
dumpInfo.ThreadId = GetCurrentThreadId();
dumpInfo.ClientPointers = TRUE;
//写入Dump文件内容
MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), hDumpFile, MiniDumpNormal, &dumpInfo, NULL, NULL);
}
return EXCEPTION_EXECUTE_HANDLER;
}
int main() {
SetUnhandledExceptionFilter((LPTOP_LEVEL_EXCEPTION_FILTER)ApplicationCrashHandler);
int a=0;
int b=100/a;
}
C/C++ Windows崩溃生成调试文件dmp
于 2024-03-29 00:41:05 首次发布
![](https://img-home.csdnimg.cn/images/20240709112858.png)