C++软件添加dump调试打印日志(推荐)
C++软件添加dump调试打印日志(推荐)
#include<DbgHelp.h>
#pragmacomment(lib,"dbghelp.lib")
LONGWINAPITopLevelExceptionFilter(struct_EXCEPTION_POINTERS*pExceptionInfo)
{
//cout<<"EnterTopLevelExceptionFilterFunction"<<endl;
TCHARszPath[MAX_PATH]={0};
TCHARszFileName[MAX_PATH]={0};
TCHAR*szVersion="v1.0";
TCHARdwBufferSize=MAX_PATH;
SYSTEMTIMEstLocalTime;
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());
HANDLEhFile=CreateFile(szFileName,GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
MINIDUMP_EXCEPTION_INFORMATIONstExceptionParam;
stExceptionParam.ThreadId=GetCurrentThreadId();
stExceptionParam.ExceptionPointers=pExceptionInfo;
stExceptionParam.ClientPointers=FALSE;
MiniDumpWriteDump(GetCurrentProcess(),GetCurrentProcessId(),hFile,MiniDumpWithFullMemory,&stExceptionParam,NULL,NULL);
CloseHandle(hFile);
getchar();
returnEXCEPTION_EXECUTE_HANDLER;
}
//----------------------------------------------
在程序最开始的地方调用这个函数
SetUnhandledExceptionFilter(TopLevelExceptionFilter);
以上这篇C++软件添加dump调试打印日志(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西