ASP.NET Debug系列之一:环境搭配
原文作者: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!