Debug Diagnostic Tool (DebugDiag)是用來(lái)幫助診斷IIS/COM+等應(yīng)用假死、性能差、內(nèi)存泄露及碎片和崩潰等問(wèn)題的工具。Debug Diagnostic Tool用這個(gè)可以自動(dòng)抓取 并且自帶分析功能 非常方便 支持各種操作系統(tǒng) 解決上面只能08的問(wèn)題
其次 分析系統(tǒng)問(wèn)題 有的時(shí)候非常復(fù)雜 因?yàn)橛锌赡軙?huì)遇到不是代碼引起的,這個(gè)時(shí)候一定要利用好 windows自帶的性能檢測(cè)
利用好這個(gè) 會(huì)給你分析帶來(lái)很大的靈感~
DebugDiag怎么使用?
這東西要裝在你的IIS Server上,不過(guò)個(gè)人工作的電腦通常也要裝,因?yàn)閐ump完大概下一件事就是趕快重開機(jī)讓production server趕快回復(fù)運(yùn)作,哪里還有那種美國(guó)時(shí)間讓你在上面跑分析而且分析過(guò)程中要上網(wǎng)download symbol file,有時(shí)候production server是不對(duì)外的
裝完以后就像這樣,放在程式集里面
執(zhí)行起來(lái)的畫面像這樣,當(dāng)你的IIS掛掉時(shí),先不要急著重開
1.趕快先把犯罪的證據(jù)保留下來(lái),從Tools->Create IIS Hang Dump將IIS相關(guān)的process都dump下來(lái)
2.然后再用最下面的Add Data Files將dump的結(jié)果讀進(jìn)來(lái)
3.在上面的ListBox選擇Crach/Hang Analyzers
4.點(diǎn)選下面的Start Analysis
就這樣,夠簡(jiǎn)單了那分析結(jié)果如何解讀? Watch this
直接告訴你哪一個(gè)thread block住后面的程式,那么thread 19是什么?點(diǎn)一下超連結(jié)
直接告訴你這是哪支ASP,連第幾行都告訴你了
那.NET程式可不可以?
我寫了一個(gè)無(wú)窮回圈的webservice
dump出來(lái)的report像這樣
DebugDiag診斷ASP.Net異常:
1. 按照操作系統(tǒng)的類型(32位或是64位),下載DebugDiag工具并安裝。
2. 在Debug Diagnostic Tool 1.2應(yīng)用程序組中運(yùn)行DebugDiag 1.2。
3. 配置Crash規(guī)則。
4.選擇需要監(jiān)控的程序,如果是IIS應(yīng)用,可以選擇特定的應(yīng)用程序池。
5.這是需要監(jiān)控的IIS應(yīng)用程序池.
6. 注意 CLR 4.0 and CLR 1.0~3.5 有不同的異常碼。
在.Net Exception Type中填入特定的異常,比如System.Data.SqlClient.SQLException。
ActionType指定當(dāng)異常發(fā)生時(shí),產(chǎn)生FullDump, MiniDump或是Log。
ActionLimit指定FullDump或MiniDump的數(shù)量,如果填入0就不會(huì)限制數(shù)量。同時(shí)如果只是需要產(chǎn)生Log的話,就不受ActionLimit限制。
7. 指定規(guī)則的名字和Dump產(chǎn)生的路徑。
9. 在“Rules”標(biāo)簽下的規(guī)則已經(jīng)處于激活狀態(tài)。
10. 當(dāng).Net異常發(fā)生之后,在第7步配置的Userdump Location下會(huì)有dump文件(后綴名為dmp)產(chǎn)生。
分析創(chuàng)建出來(lái)的Dump文件:
Debugdiag工具同時(shí)能幫助分析各種Dump文件。在本文ASP.Net異常dump文件產(chǎn)生出之后,可以參考以下步驟分析:
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頁(yè)中,選擇Crash/Hang Analyzers,并點(diǎn)擊Add Files…按鈕選擇生成出的dump文件(后綴名為.dmp)。Debugdiag會(huì)因此分析dump文件并產(chǎn)生報(bào)告。