1. 何为转储文件

     转储文件也就是我们常说的dump文件。可以把转储文件看成软件的某个时刻的一个快照。转储文件一般都是在软件出现问题时手动生成或者程序自动生成。下面我们介绍几种生成转储文件的方法。

2. 如何得到转储文件

2.1 任务管理器

     任务管理器可以说是最易获取的系统工具,同时它具有生成转储文件的功能。但要注意的是在64位操作系统上面,默认启动的是64位的任务管理器。使用任务管理器生成转储文件需要遵循一个原则:用32位任务管理器给32位进程(无论该进程是运行在32位还是64位系统上面)生成转储文件,用64位任务管理器给64位进程生成转储文件。在64位系统上,32位的任务管理器位于C:\Windows\SysWOW64\taskmgr.exe

生成方法非常简单:右键进程 --> 创建转储文件-->弹出对话框提示生成成功,以及dmp文件位置。

类似的工具还有:Process Explorer,PCHunter等。

2.2 Windbg

     Windbg这么强大的调试工具当然是可以生成转储文件的,何止生成转储文件,它能做的更多。
生成方法:File-->Attach to Process-->输入.dump /ma /u d:\test.dmp
提示成功之后,可以在D盘看到生成dmp文件到test_0bf0_2017-08-13_23-46-37-244_11cc.dmp文件。
0bf0_2017-08-13_23-46-37-244_11cc是/u参数附加上去的,意思是2017年08月13日 23时46分37秒244毫秒,进程PID位11cc。
.dump命令参数比较多,常用的组合就是/ma,/m表示生成minidump,/a表示dmp包含所有信息,/u参数就是上面说的附加时间和PID信息到文件名。

2.3 Windbg -I

     Windbg -I 参数运行可以将Windbg设置为及时调试器,也就是我们常说的JIT调试器。设置成功之后,如遇到程序崩溃,Windbg会自动运行并附加到崩溃进程。

2.4 Adplus

adplus工具位windbg安装目录下的工具之一,最早叫adplus.vbs,以VBScript脚本提供,最新版改成了adplus.exe。adplus.exe不仅可以在程序崩溃时手动运行来生成dmp文件,也可以在崩溃之前就运行它,当程序崩溃时它会自动生成dmp文件;甚至可以在程序没有运行之前就先运行adplus,当程序崩溃时它会自动生成dmp文件。
如:adplus -pn powerpnt.exe -pn wincmd32.exe -hang -o c:\test

2.4.1 adplus用法

ADPlus <RunMode> -o <OutputDirectory> [Options]

RunMode:-hang或-crash
-hang 附加到进程,生成dmp,然后解除附加(detach)。多用于程序卡死的情况下。
-crash 附加到进程,直到程序崩溃或者其他事件发生,生成dmp文件,然后解除附加。

2.4.2 常用参数(完整文档见adplus.doc文件):

-o 目录
指定生成文件存储目录。

-p 进程ID
指定进程ID,可以同时使用多次-p来指定多个进程。

-pn 进程名
指定进程名,支持通配符,也可以同时使用多次-pn来指定多个进程,但进程名必须存在,不存在则失败。

-po 进程名
和-pn类似,但-po不要求进程名必须存在。

-pmn 进程名
pmn为Process Monitor缩写。顾名思义,可以监视进程列表,一旦指定进程运行,则附加上去。只适用于-crash 模式。

windows转储文件(dmp)的更多相关文章

  1. 内存转储文件 Memory.dmp

    https://baike.sogou.com/v63435711.htm?fromTitle=内存转存文件 内存转储是用于系统崩溃时,将内存中的数据转储保存在转储文件中,供给有关人员进行排错分析用途 ...

  2. 如何删除Windows 10中的内存转储文件

    内存转储文件是由Windows产生的.以下情况下可能产生内存转储文件: 计算机崩溃蓝屏 内存错误 硬件问题 内存转储文件包含计算机系统崩溃时的详细的参数副本.用于帮助识别导致系统崩溃的原因.Windo ...

  3. 使用Dump转储文件排查线上环境服务未知问题

    利用Dump转储文件获取正式环境程序堆栈状态 服务异常找不到原因时,我们通常通过重新启动服务来尝试解决问题,但是在决定重启之前,请不要立刻重启Windows服务或站点 重启服务会让当前案发现场的内存证 ...

  4. 使用WinDBG调试查看C#内存转储文件

    有时候我们想查看一个正在运行的程序内存中的数据,可以在任务管理器将内存状态保存为转储文件,并使用WinDBG验证,这里我们来试试: 0.安装WinDBG 1.首先写个代码用来测试 一个class pu ...

  5. 内存转储文件调试系统崩溃bug

    百度百科:内存转储文件 内存转储是用于系统崩溃时,将内存中的数据转储保存在转储文件中,供给有关人员进行排错分析用途.而它所保存生成的文件就叫做内存转储文件. 内存转储文件也被称作虚拟内存,它是用硬盘里 ...

  6. 【转】Windows Dump文件获取

    dump文件是进程的内存镜像.可以把程序的执行状态,即当时程序内存空间数据通过调试器保存到dump文件中. 1.利用WinDbg里的adplus来获取dump文件 Adplus.vbs 是一个Visu ...

  7. 如何使用Microsoft的驱动程序验证程序解释无法分析的崩溃转储文件

    这篇文章解释了如何使用驱动程序验证工具来分析崩溃转储文件. 使用Microsoft驱动程序验证工具 如果您曾经使用Windows的调试工具来分析崩溃转储,那么毫无疑问,您已经使用WinDbg打开了一个 ...

  8. Windows分页文件设置不当导致SQL Server服务被终止

    Windows分页文件设置不当导致SQL Server服务被终止 文章说明 在正式开始验证和测试之前,先介绍Windows分页文件和SQL Server的动态内存管理.下面测试将分为两种测试场景:场景 ...

  9. 关于SQL Server 安装程序在运行 Windows Installer 文件时遇到错误

    前几日安装sql server2008r2 的时候碰到这个问题: 出现以下错误: SQL Server 安装程序在运行 Windows Installer 文件时遇到错误. Windows Insta ...

随机推荐

  1. memcache 细究(一)

    memcached是高性能的分布式的内存缓存服务器.由国外社区网站LIVEJOURNAL的开发团队开发. 使用目的: 通过缓存数据库查询结果,减少数据库的访问次数,以提高动态web应用的速度.提高可扩 ...

  2. language-detection 语言检测工具 java版的应用demo

    本文基本借鉴大佬文章:http://www.cnblogs.com/makemelaugh/archive/2012/09/26/2704802.html 在此基础上添加一些自己的补充,方便查阅. 提 ...

  3. python-web.py 入门介绍

    内容来源:webpy.org 介绍: 1.python中web.py 是一个轻量级Python web框架,它简单而且功能强大.web.py是一个开源项目. 2.安装很简单:pip install w ...

  4. LVS服务原理以及搭建(理论+干货)

    LVS服务原理以及搭建(理论+干货) 版权声明:本文为yunshuxueyuan原创文章 如需转载请标明出处: https://my.oschina.net/yunshuxueyuan/blog QQ ...

  5. filezilla里怎么解决中文乱码问题

    使用Filezilla client FTP客户端登陆某些FTP站点会出现中文乱码,原因是FTP服务器端编码与filezilla client端编码不一致造成的.解决方法如下:文件-站点管理-选中要登 ...

  6. 【SqlServer系列】集合运算

    1   概述 已发布[SqlServer系列]文章如下: [SqlServer系列]SQLSERVER安装教程 [SqlServer系列]数据库三大范式 [SqlServer系列]表单查询 [SqlS ...

  7. 【Mysql】Mysql关键字

    ADD ALL ALTER ANALYZE AND AS ASC ASENSITIVE BEFORE BETWEEN BIGINT BINARY BLOB BOTH BY CALL CASCADE C ...

  8. log4go的日志滚动处理——适应生产环境的需要

    日志处理有三类使用环境,开发环境DE,测试环境TE,生产环境PE. 前两类可以看成是一类,重要的是屏幕显示--termlog.生产环境中主要用的是socklog 和 filelog,即网络传输日志和文 ...

  9. RabbitMQ 使用场景一

    安装环境 1.下载安装 Erlang 运行时环境 2.下载安装 RabbitMQ Server 应用程序 3.启动 RabbitMQ 服务(默认启动) 4.安装管理平台插件并打开远程访问权限 4.1. ...

  10. JS基础学习篇(一)

    近来一直在学习js和jquery.刚刚进入前端工作还没有多久,虽然大学里学习的是编程自认为也学的还可以,但前端接触的不多,一直认为前端十分简单.其实不然,特别是工作的时候要自己设计一个完整的项目前端, ...