var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-333696-1']); _gaq.push(['_trackPageview']); _gaq.push(['_trackPageLoadTime']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })();
  • 2009年06月19日

    自动分析Minidump文件

    分类:

    Dmitry Vostokov在文Minidump Analysis (Part 1)中使用WinDbg script(ANSI): MiniDmp2Txt(下载)来自动分析Minidump文件(生成方法见Windows下生成内存转储文件)或者Postmortem Debugging

     

    windbg.exe为例,用它做Postmortem Debuger需要在命令行下(Vista及其后Windows以管理员方式运行CMD)转到其安装目录,运行命令:windbg –IS,程序crash或者hang后唤起windbg;如果已有Minidump文件,则仅需启动windbg.exe后从其菜单File->Open Crash Dump导入Minidump文件。

     

    现在已经在WinDbg窗口下了,推荐连上微软Symbol Server更正确地分析Minidump文件,运行命令:

    .sympath srv*c:\mss*http://msdl.microsoft.com/download/symbols

    或者

    .sympath srv*http://msdl.microsoft.com/download/symbols

    第一条命令缓存从微软Symbol Server中下载的符号文件到c:\mss目录,第二条命令不缓存,推荐使用第一条命令。

     

    再运行命令重载需要的符号文件:

    .reload

     

    如果解压缩后的MiniDmp2Txt位于I:\MiniDmp2Txt.txt,则可运行命令加载该WinDbg script来自动分析:

    $$><I:\MiniDmp2Txt.txt;q

     

    命令运行完毕后,windbg会自动退出,在其安装目录能找到log后缀的对应文件,注意:Postmortem Debugging生成的文件为:_Local_.log

    分享到:

    历史上的今天: