Windows Error Reporting保存Crash Dump文件
1、Crash Dump文件
Crash Dump(后缀名为:.dmp)文件是进程的内存镜像,可以把程序运行时的状态完整的保存下来,是调试异常程序重要的方法,所以程序崩溃时,除了日志文件,dump文件便成了我们查找错误的最后一根救命的稻草。
2、在Windows中使用Windows Error Reporting保存Crash Dump文件
产生Crash Dump文件的方法不止这一种,这里我介绍这种使用Windows Error Reporting(以下简称WER) 的方法。
相较于其他方法WER的优势在于:
1.从Windows Server 2008以后,WER就加入了Windows中,我们现在的系统不需要再安装什么软件,仅仅只需要设置一下配置文件,然后启动服务便可以捕获Crash Dump文件了。
2.和使用其他工具的方式来比较,WER不会影响性能,这使得我们在生产环境上也可以随意打开这项服务,并且毫无副作用。
3、配置Windows Error Reporting
a) 设置WER
WER的配置项在注册表中。
1、打开regedit(注册表编辑器)。
2、找到下面这个项
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps
3、在他下面创建一个项,名字为你要检测的程序名。
此项中需要4个值配置
值:DumpFolder, 类型:REG_EXPAND_SZ - 顾名思义,就是存储dump的位置
值:DumpCount, 类型:REG_DWORD - 最大保留的dump个数,默认为10.
值:DumpType, 类型:REG_DWORD - Dump类型,0:Custom dump, 1: Mini dump, 2: Full dump. 默认值为1
值:CustomDumpFlags, 类型:REG_DWORD - 没怎么用,暂时不解释。
b)启动Windows Error Reporting Server服务
服务启动后如果相应程序出现了崩溃的情况,WER就会自动将Crash Dump保存到指定的目录
4、打开Dump文件
Vs2008将pdb和dmp文件放在一起,用vs2008打开dmp文件调试即可,程序会停到程序崩溃的点。
Vs2015直接打开dmp,在右侧有一个设置符号路径的选项,设置pdb的路径之后再调试程序也会停到崩溃的地方。
需要注意的点:
1.dmp文件和pdb的对应是非常严格的,不同版本的pdb和dmp文件肯定是对应不上的,应当完整的保存pdb文件,以便在出现问题时好查找。
2.Windows Error Reporting Server服务每当触发一次dump,就会变成非启动状态,因此在设置此服务时,应当设置启动类型为自动。
3.在配置WER时,需要注意的是Count大小的设置,如果dmp文件个数超过Count的个数,会进行滚动覆盖,即新的dmp会覆盖旧的dmp。
Windows Error Reporting保存Crash Dump文件相关推荐
- 编写的windows程序,崩溃时产生crash dump文件的办法
一.引言 dump文件是C++程序发生异常时,保存当时程序运行状态的文件,是调试异常程序重要的方法,所以程序崩溃时,除了日志文件,dump文件便成了我们查找错误的最后一根救命的稻草.windows程序 ...
- 怎样保存kernel crash dump 文件
1.概述 实现Linuxkernel crashdump的保存,包括两部分.当kernel异常后,需要系统重启,且重启方式和正常的重启(上电重启)区别开:当系统重启后,判断重启的原因,如果是内核中设置 ...
- Linux crash dump文件生成与使用
转载自:https://blog.csdn.net/keep_moving_gogogo/article/details/44196957 不像Windows程序需手动调用相关函数,Linux程序cr ...
- 记录linux 生成crash dump文件步骤
转载自:https://blog.csdn.net/weixin_42987033/article/details/81746074 执行文件编译时加入-g 命令 例如 g++ -g test.cpp ...
- win mysql 错误日志_关于事件管理器中“应用程序”中显示windows error reporting的输入法报错日志...
错误存储段 ,类型 0 事件名称: IMECustomerEvent 响应: 不可用 Cab Id: 0 问题签名: P1: IPX Assertion P2: 0CHS P3: ChsIME.exe ...
- Windows下生成dump文件的三种方式
文章目录 前言 一.什么是dump文件? 概述 dump分类 内核模式Dump 用户模式Dump 二.dump生成方式 实现方法 方法一:修改注册表 参数说明 方法二:生动创建转储文件 方法三:通过代 ...
- Windows下dump文件生成与分析
一. 生成Dump文件方式 1.1任务管理器 在程序崩溃后,先不关闭程序,在任务管理器中找到该程序对应的进程.右键->创建转储文件. 此时会在默认的目录下创建出一个dump文件. 可以看出 ...
- windows程序崩溃生成dump文件
第一种: 通过任务管理器:这种适用在程序挂了(crash)的时候进程还未退出,比如我运行程序,出现了下面的错: 此时打开任务管理器,右击相应进程,点击"Create Dump File&qu ...
- Windows下的Dump文件
一. 生成Dump文件方式 1.1任务管理器 在程序崩溃后,先不关闭程序,在任务管理器中找到该程序对应的进程.右键->创建转储文件. 此时会在默认的目录下创建出一个dump文件. 可以看出 ...
最新文章
- 【剑指offer】设置在最小数目的阵列
- 每次执行java命令 都要source_解决每次执行Java等命令时都要重新source /etc/profile后才能执行,否则找不到命令...
- MySQL高级 - 复制 - 集群搭建
- open*** 结合pam_mysql认证 failed to authenticate: Permission denied
- 【渝粤教育】国家开放大学2019年春季 0692-22T化工设备机械基础 参考试题
- 阿里面试官:HashMap 熟悉吧?好的,那就来聊聊 Redis 字典吧!
- 项目管理(二)责任划分
- unity cube自转的同时公转
- Visual Studio 2019 创建第一个ASP.net web应用程序
- js注释过后依然起作用
- catia中的螺旋伞齿轮画法_CATIA齿轮绘制方法
- 计算机网络教室环境的作用,网络教室环境与多媒体教室环境相比优势在什么地方...
- 菲尼克斯电气——基于Proficloud的设备远程运维工业物联网解决方案
- WDF驱动开发- CONTEXT和IO QUEUE
- [原创]通过动态Sql语句,一次性彻底删除或者修改SBO的某个字段对应内容的信息...
- PLC1200 模拟量采集
- 2010-2019中国企业所有跨国并购数据
- Tomcat优化方案
- php 带http的域名,php提取URL中的域名部分
- 【Go】Go语言中的下划线