手机
当前位置:查字典教程网 >编程开发 >C语言 >C++软件添加dump调试打印日志(推荐)
C++软件添加dump调试打印日志(推荐)
摘要:C++软件添加dump调试打印日志(推荐)#include#pragmacomment(lib,"dbghelp.lib")LONGWINA...

C++软件添加dump调试打印日志(推荐)

#include <DbgHelp.h> #pragma comment(lib, "dbghelp.lib") LONG WINAPI TopLevelExceptionFilter(struct _EXCEPTION_POINTERS *pExceptionInfo) { //cout << "Enter TopLevelExceptionFilter Function" << endl; TCHAR szPath[MAX_PATH] = { 0 }; TCHAR szFileName[MAX_PATH] = { 0 }; TCHAR* szVersion = "v1.0"; TCHAR dwBufferSize = MAX_PATH; SYSTEMTIME stLocalTime; GetLocalTime(&stLocalTime); CreateDirectory(szFileName, NULL); StringCchPrintf(szFileName, MAX_PATH, "%s-%04d%02d%02d-%02d%02d%02d-%ld-%ld.dmp", szVersion, stLocalTime.wYear, stLocalTime.wMonth, stLocalTime.wDay, stLocalTime.wHour, stLocalTime.wMinute, stLocalTime.wSecond, GetCurrentProcessId(), GetCurrentThreadId()); HANDLE hFile = CreateFile(szFileName, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); MINIDUMP_EXCEPTION_INFORMATION stExceptionParam; stExceptionParam.ThreadId = GetCurrentThreadId(); stExceptionParam.ExceptionPointers = pExceptionInfo; stExceptionParam.ClientPointers = FALSE; MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), hFile, MiniDumpWithFullMemory, &stExceptionParam, NULL, NULL); CloseHandle(hFile); getchar(); return EXCEPTION_EXECUTE_HANDLER; } //----------------------------------------------

在程序最开始的地方调用这个函数

SetUnhandledExceptionFilter(TopLevelExceptionFilter);

以上这篇C++软件添加dump调试打印日志(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持查字典教程网。

【C++软件添加dump调试打印日志(推荐)】相关文章:

C++ 智能指针深入解析

关于STL中list容器的一些总结

深入C++浮点数无效值定义与判定的解决办法

基于C++自动化编译工具的使用详解

C++ using namespace std 用法深入解析

生成随机数rand函数的用法详解

如何求连续几个数之和的最大值

优秀程序员必须知道的20个位运算技巧

C++获取任务栏打开程序窗口示例

C语言文件操作函数大全(超详细)

精品推荐
分类导航