debug diagnostic tool是一款功能强大的IIS故障调试工具,可以用于针对IIS/COM+等应用假死、性能差、内存泄露和常见的崩溃问题了,附加了一个进程可以在程序崩溃或者发生异常时声称转储文件,从而进行故障诊断,小编还带来了详细的使用教程,需要的朋友可以下载!

軟件功能
1、進程崩潰數據收集
這一點非常像Windows(窗口化操作系統)調試器,DebugDiag將附加到一個進程,並且在程序崩潰或者發生異常時生成轉儲文件
2、內存泄漏
DebugDiag工具将一个DLL注入到需要检测内存泄漏的进程中,并且监测进程中的内存分配情况。然后,它将生成一个转储文件,而开发人员可以对这个文件进行分析以找出发生泄漏的代码。根据在程序中使用的不同内存分配模式,这个工具可以计算泄漏概率(Leak Probability)
3、一個功能強大的可擴展對象模型(基于COM)
它可以提供一些在分析內存泄漏和進程崩潰時需要的信息
debug diagnostic tool使用教程
这东西要装在你的IIS Server上,不过个人工作的电脑通常也要装,因为dump完大概下一件事就是赶快重开机让production server赶快回复运作,哪里还有那种美国时间让你在上面跑分析而且分析过程中要上网download symbol file,有时候production server是不对外的,装完以后就像这样,放在程式集里面
執行起來的畫面像這樣,當你的IIS挂掉時,先不要急著重開
1.赶快先把犯罪的证据保留下来,从Tools->Create IIS Hang Dump将IIS相关的process都dump下来
2.然后再用最下面的Add Data Files将dump的结果读进来
3.在上面的ListBox选择Crach/Hang Analyzers
4.点选下面的Start Analysis
就这样,够简单了那分析结果如何解读? Watch this
直接告诉你哪一个thread block住后面的程式,那么thread 19是什么?点一下超连结
直接告訴你這是哪支ASP,連第幾行都告訴你了
那.NET程式可不可以?
我寫了一個無窮回圈的webservice
dump出來的report像這樣

DebugDiag診斷ASP.Net異常:
1. 按照操作系统的类型(32位或是64位),下载DebugDiag工具并安装。
2. 在Debug Diagnostic Tool 1.2应用程序组中运行DebugDiag 1.2。
3. 配置Crash规则。
4.選擇需要監控的程序,如果是IIS應用,可以選擇特定的應用程序池。
5.這是需要監控的IIS應用程序池.
6. 注意 CLR 4.0 and CLR 1.0~3.5 有不同的异常码。
在.Net Exception Type中填入特定的异常,比如System.Data.SqlClient.SQLException。
ActionType指定当异常发生时,产生FullDump, MiniDump或是Log。
ActionLimit指定FullDump或MiniDump的數量,如果填入0就不會限制數量。同時如果只是需要産生Log的話,就不受ActionLimit限制。
7. 指定规则的名字和Dump产生的路径。
9. 在“Rules”标签下的规则已经处于激活状态。
10. 当.Net异常发生之后,在第7步配置的Userdump Location下会有dump文件(后缀名为dmp)产生。
分析創建出來的Dump文件:
Debugdiag工具同時能幫助分析各種Dump文件。在本文ASP.Net異常dump文件産生出之後,可以參考以下步驟分析:
1. 打开Debugdiag工具,在Tools->Options and Settings->Folders and Search Paths->Symbol Search Path For Analysis里填入:
SRV*f:\localsymbols*http://msdl.microsoft.com/download/symbols
其中f:\localsymbols可以用硬盤中的目錄替代,http://msdl.microsoft.com/download/symbols是微軟公用symbol的URL,不用改變。
2. 在Advanced Analysis页中,选择Crash/Hang Analyzers,并点击Add Files…按钮选择生成出的dump文件(后缀名为.dmp)。Debugdiag会因此分析dump文件并产生报告。