vc/vs开发的应用程序添加dump崩溃日志转
原贴地址:https://blog.csdn.net/wangkui1331/article/details/78029940
vc/vs开发的应用程序出现崩溃的时候,由于没有任何记录,导致开发人员很难追踪,但是添加dump文件后,就可以免除这些烦恼
1.添加方法
(1)添加头文件
#include <imagehlp.h> #pragma comment(lib, "DbgHelp.lib")
(2)在InitInstance()函数中添加:
//抓捕异常文件 ::SetUnhandledExceptionFilter((LPTOP_LEVEL_EXCEPTION_FILTER)ExceptionCrashHandler); //cash代码
其中ExceptionCrashHandler是自自己添加的回调函数,代码如下:
//抓捕异常信息 LONG ExceptionCrashHandler(EXCEPTION_POINTERS *pException) { // 创建Dump文件HANDLE hDumpFile = CreateFileW(L"Exception.dmp", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);// Dump信息 MINIDUMP_EXCEPTION_INFORMATION dumpInfo;dumpInfo.ExceptionPointers = pException;dumpInfo.ThreadId = GetCurrentThreadId();dumpInfo.ClientPointers = TRUE;// 写入Dump文件内容MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), hDumpFile, MiniDumpNormal, &dumpInfo, NULL, NULL);CloseHandle(hDumpFile);return EXCEPTION_EXECUTE_HANDLER; }
崩溃时会在exe所在目录生成Exception.dmp文件
2.调试方法
调试时需要的文件包括:exe文件,dump文件,还有编译生成对应exe的pdb文件(这就需要提前保存好对应版本的pdb文件,否则提示pdb文件不匹配),保证它们在同一目录下,用vs2010打开dump文件(安装了vs2010的双击dump即可自动打开),按下图操作即可
转载于:https://www.cnblogs.com/wainiwann/p/9969280.html
vc/vs开发的应用程序添加dump崩溃日志转相关推荐
- taro开发微信小程序-添加开发者预览,上传测试版本(十四)
taro开发微信小程序,上传测试版本,如果需要访问网络需要打开调试模式,如果配置了https协议的服务,提示对应的服务器证书无效,那么必须正确配置ssl证书,可以在阿里云或者腾讯云申请. 添加开发者预 ...
- 【Android 应用开发】使用蒲公英 SDK 收集崩溃日志信息 ( 导入依赖 | 申请 Key | 集成代码 | 清单文件配置 | 手动上传日志 | 手动检查更新 )
文章目录 一.导入依赖 二.申请 API Key 和 FrontJS Token 三.Application 集成 PgyerSDKManager 代码 四.AndroidManifest.xml 清 ...
- ios开发如何给程序添加icon图标
第一步:将icon图标添加到工程中. 第二步:打开工程的supporting files文件夹,找到XXXX-info.plist文件,打开进去找icon files(若没有自己建立一个)下找到ico ...
- VC+VB开发CAD重生记:CADEditorX 15.X Crack
CADEditorX是一个 ActiveX 组件,用于在任何支持 ActiveX 和 COM 技术的开发环境(例如 C#.Visual C++.Delphi.VB.JavaScript 等)中向网页或 ...
- VC HID开发笔记
1.头文件包含,库文件链接 在VC中开发HID应用程序时,需要包含setupapi.h和hidsdi.h,包含方式必须为extern "C",如下所示: extern " ...
- taro开发微信小程序-播放轨迹(十一)
taro集成了地图后如何实现轨迹播放,暂停,停止呢?本身地图并不具备轨迹播放的能力,但是基于地图api可以实现轨迹播放的效果 思路如下: 1.获取所有的轨迹坐标点-最好是数组格式的json 2.定义一 ...
- 在VC中使用ADO开发数据库应用程序
在VC中使用ADO开发数据库应用程序 一.ADO概述 ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口.ADO 使您能够编写应用程序以通过 ...
- 【实习之T100开发】T100 单档程序开发(2)添加功能
T100单档程序 一.添加 性别[下拉框].入职日期 1.r.t 数据表增加字段 2.设计器更新基础数据.重新产生基础数据 3.设计器修改界面并上传 4.重新下载程序代码,修改 azzi600系统分类 ...
- 从0开始学习开发微信小程序(熟悉微信开发者工具页面,简单修改、添加一些内容)
目录 从0开始学习开发微信小程序 准备工作 下载安装微信开发者工具.注册小程序账号 创建小程序 实际操作学习基本功能 写一个名为new的页面. 修改主页的"Hello World" ...
最新文章
- python接口自动化(二十四)--unittest断言——中(详解)
- (转)NAT与NAT穿透 原理
- Spark _15 _广播变量和累加器
- 三角形旋转c语言程序,c语言图形,请高手修改,效果是一个三角形绕一点旋转一周...
- 【java】简述CGLIB常用API
- STM32 ESP8266和Java服务器透传模式下的双向通信
- SinoBBD:以后发优势提供不一样的一体化融合CDN服务
- Spring+Mybatis+SpringMVC后台与前台分页展示实例(附工程)(转)
- android 开机优化,android5.0在开机优化应用的时候,怎么关闭优化强制启动
- 在Windows上安装FFmpeg程序
- 解决:Win10 程序切换/系统提示弹窗不在顶层
- Photoshop 技能167个 经典的Photoshop技巧大全
- PSP自制程序打包ISO方法及注意事项
- 【企业架构设计实战】2 业务架构设计
- “贵州与您相约”英文网站8月18日正式上线;大华股份助力长兴打造景区数字化管理样板 | 全球旅报...
- oracle 19c的卸载与安装
- oracle 19c dbua升级时ORA-20001报错的分析
- 为什么地球的生物都是碳基生命?科学家:大自然环境选择的结果
- 苹果邮箱 android设置字体,MacOS如何修改邮件字体大小?MacOS修改邮件字体大小的方法...
- 百度搜索限定时间_你不知道的搜索引擎那点事儿
热门文章
- 如何选择开源许可证?(Z)
- AngularJS 详解Directive(指令)机制
- 机器学习 对模型进行惩罚_使用Streamlit对机器学习模型进行原型制作
- 世界排名前20的大学毕业生去做银行柜员,柜员工资是不是很高?
- hi3531交叉编译环境arm-hisiv100nptl-linux搭建过程
- qt开发环境 - c++之无名名字空间,名字空间嵌套邻近原则(内藏外),名字空间别名
- python语言的编程模式_一种基于Python语言的EDA开发平台及其使用方法与流程
- int arr 13 java,java学习13 - 数组的定义、操作、异常、二维数组
- matlab 邻近度 离群点_MATLAB自制迷宫游戏,快来试试吧!
- altium pcb 信号高亮_在PCB设计中高效的放置元件技巧