Asp.net 简明教程

ASP.NET - Debugging

调试允许开发人员逐个步骤地查看代码如何工作、变量的值如何更改、如何创建和销毁对象等。

在该网站首次执行时,Visual Studio 将显示一个提示,询问是否应启用它进行调试:

debugging info

启用调试时,将在 web.config 中显示以下代码行:

<system.web>
   <compilation debug="true">
      <assemblies>
      ..............
      </assemblies>
   </compilation>
</system.web>

Debug 工具栏提供了所有可用于调试的工具:

debugging toolbar

Breakpoints

断点指定运行时以运行特定代码行,然后停止执行,以便检查代码并执行各种调试作业,例如更改变量的值、逐步执行代码、进出函数和方法等。

若要设置断点,请右键单击代码并选择插入断点。在左边界上会出现一个红点,并且代码行将突出显示,如下所示:

breakpoint highlighted

接下来,在执行代码时,您可以观察其行为。

breakpoint highlighted2

在此阶段,您可以逐步执行代码,观察执行流并且检查变量、属性、对象等的值。

您可通过右键单击断点字形所获取的“属性”菜单修改断点的属性:

breakpoint dropdown

位置对话框显示所选代码的文件位置、行号和字符号。条件菜单项允许您输入有效表达式,该表达式将在程序执行到达断点时进行评估:

breakpoint condition

命中计数菜单项显示一个对话框,该对话框显示断点被执行的次数。

breakpoint asp.net

单击下拉列表显示的任意选项将打开一个编辑字段,在此字段中输入目标命中计数。这在代码中分析循环结构时特别有用。

breakpoint asp.net2

筛选菜单项允许设置筛选器,以指定机器、进程或线程或任意组合,断点将对此生效。

breakpoint filters

命中时菜单项允许您指定命中断点后执行的操作。

breakpoint asp.net3

The Debug Windows

Visual Studio 提供了以下调试窗口,每个窗口都显示一些程序信息。下表列出了这些窗口:

Window

Description

Immediate

Displays variables and expressions.

Autos

显示当前和上一个语句中的所有变量。

Locals

显示当前上下文中的所有变量。

Watch

显示最多四组不同的变量。

Call Stack

显示调用堆栈中的所有方法。

Threads

Displays and control threads.