原文作者:Tess
原文連結:http://blogs.msdn.com/tess/pages/net-debugging-demos-information-and-setup-instructions.aspx
譯者:Wencui http://www.cnblogs.com/David-Qian
一些專業詞彙:
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!