C++软件添加dump调试打印日志(推荐)
发布时间:2020-12-16 05:22:47 所属栏目:百科 来源:网络整理
导读: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_
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调试打印日志(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |