Debug Diagnostic Tool (DebugDiag)是用來幫助診斷IIS/COM+等應用假死、性能差、內存泄露及碎片和崩潰等問題的工具。
本文介紹如何運用DebugDiag診斷特定的ASP.Net異常:
1. 按照操作系統的類型(32位或是64位),從http://www.microsoft.com/download/en/details.aspx?id=26798下載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文件並產生報告。
希望以上內容對您有所幫助
Richard Chen