WinDbg-如何抓取dump文件
这要分两种情况:
第一种情况:如果是Vista或者是Windows2008操作系统就是一个简单的事情,在任务管理器中,切换到"进程"选项卡,右键点击你想要创建dump文件的进程,然后选择"Create Dump File"即可。如果你想要创建dump文件的进程是w3wp.exe,可能会看到有很多w3wp,但不知道哪一个是你要要抓的网站,可以通过下需的命令查看,对于vista或win2008系统使用:%windir%/system32/inetsrv/appcmd list wp 而对于win2k3系统,你可以使用iisapp来查看。
第二种情况: 对于win2k3操作系统是没有上面说到的功能的,当然上面的方法也是不完善的,因为它不能在程序崩溃的那一刻抓取到最适合的dump文件。可以通过adplus命令来抓取。例如:
adplus -hang -pn w3wp.exe -o c:\dumps
该命令立刻把w3wp.exe的full dump抓取到c:\dumps文件夹内。
adplus -hang -p 81388 -o c:\dumps
该命令立刻把81388这个进程的full dump抓取到c:\dumps文件夹内。
adplus -crash -pn w3wp.exe -fullonfirst -o c:\dumps
adplus -crash -p 81388 -fullonfirst -o c:\dumps
该命令会通过监视进程w3wp.exe或81388的运行,在当第一次出现异常时记录一次完整的dump
adplus -crash -pn w3wp.exe -o c:\dumps
该命令也是在w3wp.exe崩溃时记录dump,但这是一个mini dump
#一些常用的参数:
-Crash:表示我捕捉的是一个Crash dump。
-p:指定要捕捉的进程ID。 -IIS表示我们捕捉IIS的所有进程。
-quiet:不弹出提示窗口
-fullonfirst:表示我希望在first chance时捕捉完整的dump信息,也就是进程的所有完整信息。
-o :后面跟着dump文件的存放路径
-c : 指定配置文件
#配置环境变量:
计算机-->属性-->高级-->环境变量-->系统环境变量-->
_NT_SYMBOL_PATH C:"Windows"symbols
为Path系统环境变量增加C:\Program Files\Debugging Tools for Windows (x86)\
#还能通过指定配置文件来灵活使用adplus,例如可以指定clr发生某种异常时记录dump等。
#解决在抓取dump过程出现"ActiveX 部件不能创建对象: 'Wscript.shell'" 错误的方法,运行如下命令:
regsvr32 %windir%"system32"WSHom.Ocx
#注意:当运行adplus抓取dump后,对应的w3wp.exe进程将会自动回收重启新的进程
2、分析dump文件。
0:000> .load C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\SOS.dll //加载调试模块
0:000>!eeheap -gc //查看托管堆的情况(包括大小)
0:000>!dumpheap -min 85000 -stat //显示大小大于85000的对角的统主信息
0:000>!dumpheap -min 85000 //显示大小大于85000的对角的统主信息
0:000>!dumpheap -stat //该命令显示程序中所有对象的统计信息,显示的大小是对象本身的大小,不包括对象里面值的大小
0:000>!gcroot 0x34e9bee0 //来显示一个实例的所属关系
0:000>!dumpheap -mt 790fcb30 //该命令显示MethodTable 790fcb30的详细信息
0:000>!DumpArray //查看数组信息
0:000>!ObjSize 012a1ba4 //对象实际在内存中的大小
0:000>lm //查看加载了哪些模块
0:000>!dumpmt -md 00976d48 //得到类的成员函数详细信息
WinDbg-如何抓取dump文件的更多相关文章
- 抓取Dump文件的方法和工具介绍
一.Windows系统的任务管理器里抓dump 启动任务管理器,选中某个进程,右键,弹出菜单"创建转储文件" 注意事项: 当你在64位Windows系统上抓32位进程的dmup文件 ...
- 使用ProcDump工具抓取dump
首先得到要抓取的进程号 cd %windir%\syswow64\inetsrvappcmd list wp得到pid之后, 在任务管理器里发现w3wp.exe的CPU总在49%-60%左右, 间歇性 ...
- 转:介绍一个好用的抓取dump的工具-ProcDump
介绍一个好用的抓取dump的工具-ProcDump Procdump是一个轻量级的Sysinternal团队开发的命令行工具, 它的主要目的是监控应用程序的CPU异常动向, 并在此异常时生成crash ...
- 好用的抓取dump的工具-ProcDump
Procdump是一个轻量级的Sysinternal团队开发的命令行工具, 它的主要目的是监控应用程序的CPU异常动向, 并在此异常时生成crash dump文件, 供研发人员和管理员确定问题发生的原 ...
- 你需要知道的 N 种抓取 dump 的工具
原总结注册表debug调试dump转储文件windbgprocdump 前言 今天,向大家介绍几种可以抓取应用程序转储文件的工具及基本使用方法.更详细的用法,请参考每个工具对应的帮助文档.如果你还不清 ...
- IIS崩溃时自动抓取Dump
背景:在客户现场,IIS有时会崩溃,开发环境没法重现这个bug,唯有抓取IIS的崩溃是的Dump文件分析. IIS崩溃时自动抓取Dump,需要满足下面几个条件 1.启动 Windows Error R ...
- 抓取dump
1,在程序奔溃前部署.adplus.exe -crash -pn explorer.exe -o d: -crash:当进程挂掉的时候抓取dump,只能抓取到进程报错时的信息,如果进程不报错,就无法抓 ...
- 下载远程(第三方服务器)文件、图片,保存到本地(服务器)的方法、保存抓取远程文件、图片 将图片的二进制字节字符串在HTML页面以图片形式输出 asp.net 文件 操作方法
下载远程(第三方服务器)文件.图片,保存到本地(服务器)的方法.保存抓取远程文件.图片 将一台服务器的文件.图片,保存(下载)到另外一台服务器进行保存的方法: 1 #region 图片下载 2 3 ...
- Windbg内核调试之四: Dump文件分析
Dump 文件分析很大程度上就是分析蓝屏产生的原因.这种系统级的错误算是Windows提示错误中比较严重的一种(更严重的还有启动黑屏等硬件或软件兼容性错误等等).说它是比较严重,是因为毕竟Window ...
随机推荐
- 【转载】selenium之 定位以及切换frame(iframe)
更多关于python selenium的文章,请关注我的专栏:Python Selenium自动化测试详解 总有人看不明白,以防万一,先在开头大写加粗说明一下: frameset不用切,frame需层 ...
- php cache类代码(php数据缓存类)
如果访问量大的话会给数据库造成很大的负担,所以对于变化不经常的内容要做好php 数据cache(缓存)是十分必要的,我做了一个简单的php“文件缓存”的类,希望对大家有所帮助. 思路是这样的: 对于一 ...
- java之正则表达式、日期操作
正则表达式和日期操作 正则表达式简介 正则表达式就是使用一系列预定义的特殊字符来描述一个字符串的格式规则,然后使用该格式规则匹配某个字符串是否符合格式要求. 作用:比如注册邮箱,邮箱有用户名和密码,一 ...
- C#+TaskScheduler(定时任务)实现定时自动下载
C# /TaskScheduler /定时任务 /定时自动下载 3410 实现原理,客户是广电,在广电服务器创建一个FTP目录,然后每天自动从卫星上自动更新节目列表, 然后功能就是要每天定点一个时间自 ...
- SPOJ D-query(莫队算法模板)
题目链接:http://www.spoj.com/problems/DQUERY/ 题目大意:给定一个数组,每次询问一个区间内的不同元素的个数 解题思路:直接套莫队的裸题 #include<cs ...
- Codeforces 776C - Molly's Chemicals(思维+前缀和)
题目大意:给出n个数(a1.....an),和一个数k,问有多少个区间的和等于k的幂 (1 ≤ n ≤ 10^5, 1 ≤ |k| ≤ 10, - 10^9 ≤ ai ≤ 10^9) 解题思路:首先, ...
- mac 安装mongodb与常用操作
1.安装 brew update brew install mongodb 2.启动mongo mongod --config /usr/local/etc/mongod.conf 3.启动 mong ...
- SAM-Toy Cars题解
题目描述 Jasio 是一个三岁的小男孩,他最喜欢玩玩具了,他有n 个不同的玩具,它们都被放在了很高的架子上所以Jasio 拿不到它们. 为了让他的房间有足够的空间,在任何时刻地板上都不会有超过k 个 ...
- 洛谷 P2871 [USACO07DEC]手链Charm Bracelet 题解
题目传送门 这道题明显就是个01背包.所以直接套模板就好啦. #include<bits/stdc++.h> #define MAXN 30000 using namespace std; ...
- 寻找并输出11~999之间的回文数m
寻找并输出11~999之间的数m,它满足m.m2和m3均为回文数. 回文:各位数字左右对称的整数. 例如:11满足上述条件 112=121,113=1331 判断一个数是否是回文数的方法:求该数的反序 ...