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