`
transcend
  • 浏览: 11200 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

WinDbg-如何抓取dump文件

阅读更多

WinDbg-如何抓取dump文件

 

 

在工作时候,有时会出现经常用的软件突然停止响应,比如聊天工具飞信停止响应,我们只能通过结束进程来暂时解决问题。要找到问题,可以通过抓取内存dump来分析下

第一种情况

      如果是Vista或者是Windows2008操作系统就是一个简单的事情,在任务管理器中,切换到<进程>选项卡,右键点击你想要创建dump文件的进程,然后选择<Create Dump File>即可。如果你想要创建dump文件的进程是w3wp.exe,可能会看到有很多w3wp,但不知道哪一个是你要要抓的网站,可以通过下需的命令查看,对于vista或win2008系统使用:%windir%/system32/inetsrv/appcmd list wp

 

第二种情况

而对于win2k3系统,你可以使用iisapp来查看。

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 : 指定配置文件
#配置环境变量:
计算机--&gt;属性--&gt;高级--&gt;环境变量--&gt;系统环境变量--&gt;
_NT_SYMBOL_PATH          C:&quot;Windows&quot;symbols
为Path系统环境变量增加C:\Program Files\Debugging Tools for Windows (x86)\

#解决在抓取dump过程出现&quot;ActiveX 部件不能创建对象: 'Wscript.shell'&quot; 错误的方法,运行如下命令:
regsvr32 %windir%&quot;system32&quot;WSHom.Ocx

2、分析dump文件。
   0:000&gt; .load C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\SOS.dll  //加载调试模块
   0:000&gt;!eeheap -gc                                   //查看托管堆的情况(包括大小)
   0:000&gt;!dumpheap -min 85000 -stat          //显示大小大于85000的对角的统主信息
   0:000&gt;!dumpheap -min 85000                  //显示大小大于85000的对角的统主信息               
   0:000&gt;!dumpheap -stat                           //该命令显示程序中所有对象的统计信息,显示的大小是对象本身的大小,不包括对象里面值的大小
   0:000&gt;!gcroot 0x34e9bee0                      //来显示一个实例的所属关系
   0:000&gt;!dumpheap -mt 790fcb30              //该命令显示MethodTable 790fcb30的详细信息
   0:000&gt;!DumpArray                                 //查看数组信息
   0:000&gt;!ObjSize 012a1ba4                       //对象实际在内存中的大小
   0:000&gt;lm                                              //查看加载了哪些模块
   0:000&gt;!dumpmt -md 00976d48              //得到类的成员函数详细信息

 

分享到:
评论

相关推荐

    自动抓取Dump文件和关闭自动抓取Dump文件的.bat文件

    自动抓取Dump文件的.bat脚本: 该脚本通常包含一系列命令,用于配置Windows系统以在遇到应用程序崩溃时自动创建Dump文件。这可能包括设置注册表项来启用MiniDump,这是一种轻量级的内存转储格式。脚本可能还会指定...

    windows debug diag如何手工抓取dump文件 好多命令 好用

    本文将详细介绍如何使用Windows Debug Diag工具手工抓取dump文件,并探讨相关的调试技术。 Windows Debug Diag是一个官方提供的诊断工具,用于帮助系统管理员和开发者在不中断服务的情况下收集和分析故障信息。在这...

    Windbg抓取分析DMP文件

    ### Windbg抓取分析DMP文件 #### 一、Windbg简介 Windbg是一款由微软提供的强大调试工具,主要用于Windows操作系统下的应用程序调试。它能够帮助开发者诊断和解决各种软件问题,尤其是在应用程序出现崩溃或者异常...

    Procdump微软抓取dump文件工具

    **Procdump 微软抓取Dump文件工具详解** 在IT行业中,当应用程序崩溃或遇到异常情况时,为了进行故障排查和分析,开发者通常需要获取到进程的内存转储文件,也就是我们常说的Dump文件。Microsoft提供了一款名为...

    Windows下用于生成Dump文件的工具

    开发者可以通过调试器(如Visual Studio的调试器或WinDbg)加载Dump文件,查看调用堆栈、变量值和系统状态,从而分析程序崩溃的原因或者优化性能问题。相比于传统的远程调试,使用Dump文件进行离线分析更加便捷,...

    抓dump批处理脚本

    总的来说,这个压缩包提供了一套简单的Windows环境下抓取dump文件的解决方案,通过批处理脚本自动化操作,使得对问题的诊断变得更加高效。在实际使用时,应根据具体的应用场景和需求,适当调整批处理脚本的内容,并...

    软件崩溃调试

    本文将详细介绍如何使用WinDbg这一强大工具进行软件崩溃调试,并获取内存dump文件。 #### 二、WinDbg简介 WinDbg是微软提供的一款强大的调试工具,尤其适用于.NET应用程序的调试。它可以对已崩溃的应用程序进行...

    Windows下进程crash主动抓取dmp

    3. **配置自定义的dump文件路径** 默认情况下,dmp文件会被保存在系统盘的%SystemRoot%\Minidump目录下。如果需要更改位置,可以修改注册表键`HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Debug...

    如何定位core问题

    在程序异常时抓取dump文件,然后利用Visual Studio或Windbg等专业调试工具进行分析。在Visual Studio中,可以直接双击dump文件以启动调试器,通过设置正确的符号路径(通常是pdb文件所在路径),调试器能够准确地...

    [HACK学习呀] - 2020-06-11 绕过卡巴进程保护的一些总结1

    文章还推荐了其他相关阅读材料,包括绕过卡巴斯基抓取lsass密码的实战测试案例和使用RPC控制lsass实现DUMP LSASS的方法,这些都是为了进一步了解和研究如何在有杀毒软件保护的情况下获取敏感数据。 总的来说,这篇...

Global site tag (gtag.js) - Google Analytics