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,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); CloseHandle(hfile); getchar(); return EXCEPTION_EXECUTE_HANDLER;}//----------------------------------------------
在程序最开始的地方调用这个函数
SetUnhandledExceptionFilter(topLevelExceptionFilter);
以上这篇C++软件添加dump调试打印日志(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。
总结以上是内存溢出为你收集整理的C++软件添加dump调试打印日志(推荐)全部内容,希望文章能够帮你解决C++软件添加dump调试打印日志(推荐)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)