.net framwork 中提供了一个相当友善好用的除错器(debugger),这个图形化接口的工具能帮我们更有效率的除错。
microsoft .net framework sdk debugger 简介
在使用除错器之前我们必须先在config.web 设定档中加入下列的设定,注意大小写:
<compilation debugmode="true"/>
我们首先开启「c:\program files\microsoft.net\frameworksdk\guidebug」这个目录,接着执行「dbgurt.exe」。

然后我们在选单中选择「debug」选单中的「processes」选项。

在processes 窗口中分别选取「show system processes」、「show processes in all sessions」,并选择「xspwp.exe」这个选项。

按下「attach」按钮后会出现「attach to process」窗口,确认「common language runtime」选项被选取后按下ok 按钮。

接着回到processes 窗口,我们可以发现debugged processes 群组中多了我们刚刚加进去的xspwp.exe。

xspwp.exe 是asp.net 应用程序的工作程序,监视这个程序可以让我们在除错工具中,依序执行程序中的每一个步骤、检视变量等。按下close 按钮后选择「file」选单中「open」选项的子选项「file」,来开启要进行除错的ex10.aspx:
<html>
<form runat="server">
<asp:button id="button1" text="确定" onclick="button1_click"
runat="server"/>
</form>
<script language="vb" runat="server">
sub button1_click(sender as object,e as eventargs)
dim i as short
dim j() as short={0,1,2}
for i = 0 to 2
response.write(j(i).tostring() & "<br>")
next
end sub
</script>
</html>
在开启ex10.aspx 后为了看的更清楚,以下的画面关掉solution explorer 窗口。
断点是一种在除错模式时,告诉程序暂时停止执行的记号。接下来我们来为这个程序设定断点,利用用除错工具来除错。首先我们先将键盘的光标停在程序代码中的「response.write(j(i) &"<br>")」这一行,然后使用下例的任何方法都可以新增或移除断点:
1. 窗口的左边界按下鼠标左键。
2. 按下「f9」键可新增或移除断点。
3. 选择工具列上的「insert breakpoint」按钮。
4. 使用鼠标右键再欲设定断点的程序代码按一下,再从弹出式菜单中选择insertbreakpoint 选项。
我们发现利用ie 浏览程序按下按钮后,便自动跳到除错程序中;而且在来断点上多了一个黄色的箭头,程序停止之处还没被执行。
