一些專業詞匯:
hang:掛起,如程序反應慢,顯示頁面時間長等等。
crash:崩潰,如w3wp.exe遇到了問題被強行重啟等等。
memory:內存,這個不用多說了。
memory leak:內存洩漏,即內存使用過多,不夠用了,如出現 OutOfMemoryException的異常等等。
KB:英文是 Knowledge Base,即知識庫,從微軟的support站點可以查看KB中的文章。
dump:相當於在某一靜止時刻內存的一個切片。
關於debug系列
這是一個.net的debug系列,其中包括了大家最常見的hang,crash,以及memory的問題。所有的問題都會被寫在同一個website中,大家可以從這裡來下載http://blogs.msdn.com/tess/attachment/7431454.ashx 。它是用ASP.NET所寫,需要安裝在IIS以及.NET Framework 2.0或更高版本上。這個系列將會詳細的告訴你debug的一些重要知識,以及讓你親手體驗怎樣去debug這些常見問題。
安裝
1)下載示例website,上面已經給出了鏈接。
2)在IIS 中新建一個虛擬目錄叫做BuggyBits。
3)打開http://localhost/BuggyBits/default.htm,測試你是否設置正確。如果能浏覽,說明你虛擬目錄設置正確。
4)打開http://localhost/BuggyBits/CompanyInformation.aspx,測試你能否 浏覽aspx頁面。
5)從這裡下載windows下的debug tools:http://www.microsoft.com/whdc/devtools/debugging/default.mspx
6)雙擊InternetConnections.reg文件來修改注冊表,它是用來提高IE對同一站點訪問的連接數。
7)安裝tinyget tool,它用來壓力測試頁面的,這樣我們就可以很方便的重現hang以及memory leak的問題。在這篇KB中有 下載:http://support.microsoft.com/kb/840671
工具的介紹
Windbg:它是調試windws程序一個tool,非常的強大。默認它是被安裝在這個目錄:c:"program files"debugging tools for windows
Adplus:這個一個自動生產memory dump並存儲到debuggers目錄的腳本。
SOS.dll:調試托管(.net)代碼的一個擴展插件。
Tinyget:它是一個命令行的工具,通過使用HTTP協議進行多線程(multiple threads),重復(loop)的發request,和網站壓力測試的的工具功能一樣。
Debugger tools安裝後的使用方法
在安裝好Debugger tools後,我們還不能立刻使用windbg,在使用它之前需要做如下一些設置:
1)將.net目錄(如:C:"Windows"Microsoft.NET"Framework"v2.0.50727)下的SOS.dll copy到Debugger目錄下(C:"Program Files"Debugging Tools for Windows (x86))。
2)設置windbg的symbols。首先我們可以在C盤根目錄新建一個文件夾,如” c:"symbols"public”,這個文件夾將會保存所有windbg使用過程中下載的symbols。然後打開windbg的File菜單,點擊symbol file path,在symbol path裡面輸入" srv*c:"symbols"public*http://msdl.microsoft.com/download/symbols”。
現在你便設置好了windbg。在下一篇文章中我們將會講解一些windbg的一本命令,做一些debug前的准備工作。
Have a nice day!
原文作者:Tess
原文鏈接:http://blogs.msdn.com/tess/pages/net-debugging-demos-information-and-setup-instructions.aspx
譯者:Wencui http://www.cnblogs.com/David-Qian