手机
当前位置:查字典教程网 >编程开发 >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++重载的详细总结

CFileDialog设置多选的问题解决

基于linux下C开发中的几点技术经验总结

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

C++调试追踪class成员变量的方法

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

解析C++浮点数无效值的定义与无效值判定的小结

C++中抽象类和接口的区别介绍

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

c语言中数组名a和&a详细介绍

精品推荐
分类导航