h> #include <QMessageBox> #include <QString> #include <QTime> /* 工程: debug_test 日期: 2021-03-19 作者: DS小龙哥环境: win10 QT5.12.6 MinGW32 功能: 程序异常捕获接口 */ LONG ExceptionCapture(EXCEPTION_POINTERS *pException) {
dumpInfo.ClientPointers = TRUE; //写入Dump文件内容 MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), hDumpFile, MiniDumpNormal, &dumpInfo, NULL, NULL); } //这里弹出一个错误对话框并退出程序 EXCEPTION_RECORD* record = pException->ExceptionRecord; QString errCode(QString::number(record...
//程式异常捕获 LONG ApplicationCrashHandler(EXCEPTION_POINTERS *pException) { //创建 Dump 文件 HANDLE hDumpFile = CreateFile(L"crash.dmp", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); if (hDumpFile != INVALID_HANDLE_VALUE) { //Dump信息 MINIDUMP_EXCEPTION_INFORMATION...
{ //创建 Dump 文件 HANDLEhDumpFile=CreateFile(L"crash.dmp",GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); if(hDumpFile!=INVALID_HANDLE_VALUE) { //Dump信息 MINIDUMP_EXCEPTION_INFORMATIONdumpInfo; dumpInfo.ExceptionPointers=pException; dumpInfo.ThreadId=GetCurrentThreadId(); dump...
SetUnhandledExceptionFilter函数是Win32API的异常捕获函数,在程式异常结束前。会调用该函数注冊的回调函数,这样就能在进程终止前运行指定的代码,达到比如保存数据的功能。 LONG ApplicationCrashHandler(EXCEPTION_POINTERS *pException){//程式异常捕获 /* ***保存数据代码*** ...
utf16()), GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); if (hDumpFile != INVALID_HANDLE_VALUE) { MINIDUMP_EXCEPTION_INFORMATION dumpInfo; dumpInfo.ExceptionPointers = pException; dumpInfo.ThreadId = GetCurrentThreadId(); dumpInfo.ClientPointers = FALSE; MiniDumpWrite...
CCrashStack(PEXCEPTION_POINTERS pException); QString GetExceptionInfo(); }; #endif // CCRASHSTACK_H 2.2 异常崩溃源文件 #include "ccrashstack.h" #include <tlhelp32.h> #include <stdio.h> #define _WIN32_DCOM #include <comdef.h> ...
data()); #endif // !UNICODE HANDLE hDumpFile = CreateFile(filePath, GENERIC_WRITE, 0, nullptr, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, nullptr); if( hDumpFile != INVALID_HANDLE_VALUE){ //Dump信息 MINIDUMP_EXCEPTION_INFORMATION dumpInfo; dumpInfo.ExceptionPointers = pException; dumpInfo....
=INVALID_HANDLE_VALUE){//Dump infoMINIDUMP_EXCEPTION_INFORMATION dumpInfo;dumpInfo.ExceptionPointers=pexcp;dumpInfo.ThreadId=GetCurrentThreadId();dumpInfo.ClientPointers=TRUE;//write Dump::MiniDumpWriteDump(GetCurrentProcess(),GetCurrentProcessId(),hDumpFile,MiniDumpNormal,&dumpInfo,NULL,NULL);}return0...
dumpInfo.ExceptionPointers=pException; dumpInfo.ThreadId=GetCurrentThreadId(); dumpInfo.ClientPointers=TRUE; //将dump信息写入dmp文件 MiniDumpWriteDump(GetCurrentProcess(),GetCurrentProcessId(),DumpHandle,MiniDumpNormal,&dumpInfo,NULL,NULL); CloseHandle(DumpHandle); ...