Debug Diagnostic Tool (DebugDiag)是用来帮助诊断IIS/COM+等应用假死、性能差、内存泄露及碎片和崩溃等问题的工具。Debug Diagnostic Tool用这个可以自动抓取 并且自带分析功能 非常方便 支持各种操作系统 解决上面只能08的问题
其次 分析系统问题 有的时候非常复杂 因为有可能会遇到不是代码引起的,这个时候一定要利用好 windows自带的性能检测
利用好这个 会给你分析带来很大的灵感~
这东西要装在你的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像这样
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)产生。
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文件并产生报告。