演练:调试 Web 窗体

本演练中的步骤向您演示如何调试 ASP.NET Web 应用程序(也称为 Web 窗体)。 它还为您演示如何启动和停止执行、设置断点以及在**“监视”**窗口中检查变量。

备注

若要完成本演练,您必须在服务器计算机上具有管理员特权。默认情况下,ASP.NET 进程(aspnet_wp.exe 或 w3wp.exe)作为 ASP.NET 进程运行。若要调试 ASP.NET,您必须拥有运行 ASP.NET 的计算机上的管理员权限。有关更多信息,请参见 ASP.NET 调试:系统要求

显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您的当前设置或版本。 若要更改设置,请在**“工具”菜单上选择“导入和导出设置”**。 有关更多信息,请参见 Visual Studio 设置

创建 Web 窗体

  1. 如果您已经打开了一个解决方案,请先关闭它。

  2. 在**“文件”菜单上单击“新建”,然后单击“网站”**。

    即会出现**“新建网站”**对话框。

  3. 在**“模板”窗格中,单击“ASP.NET 网站”**。

  4. 在**“位置”行上,在列表中单击“HTTP”**,然后在文本框中键入 https://localhost/WebSite。

  5. 在**“语言”列表中单击“Visual C#”“Visual Basic”**。

  6. 单击**“确定”**。

    Visual Studio 将创建一个新项目并显示默认的 HTML 源代码。 它还将在 IIS 中的**“默认网站”下面创建一个名为“网站”**的新虚拟目录。

  7. 单击底部边距上的**“设计”**选项卡。

  8. 单击左边距上的**“工具箱”选项卡,或在“视图”**菜单上选择“工具箱”。

    将打开**“工具箱”**。

  9. 在**“工具箱”中单击“Button”**控件,并将其添加到主设计图面 (Default.aspx) 上。

  10. 在**“工具箱”中,单击“Textbox”**控件,并将该控件拖到主设计图面 (Default.aspx) 上。

  11. 双击所放置的按钮 (Button) 控件。

    此操作将使您转到代码页:Default.aspx.cs(对于 C#)或 Default.aspx.vb(对于 Visual Basic)。 光标应位于函数 Button1_Click 中。

  12. 在 Button1_Click 函数中,添加以下代码:

    ' Visual Basic
    TextBox1.Text = "Button was clicked!"
    
    // C#
    TextBox1.Text = "Button was clicked!";
    
  13. 在**“生成”菜单上,单击“生成解决方案”**。

    该项目应顺利生成,没有错误。

    现在,您可以开始调试了。

调试 Web 窗体

  1. 在 Default.aspx.cs 或 Default.aspx.vb 窗口中,单击所添加文本的同一行的左侧空白:

    ' Visual Basic
    TextBox1.Text = "Button was clicked!"
    
    // C#
    textBox1.Text = "Button was clicked!";
    

    出现一个红点并且该行上的文本突出显示为红色。 红点表示一个断点。 当您在调试器下运行该应用程序时,此调试器将在命中该代码时在该位置中断执行。 然后您可以查看应用程序的状态并调试它。 有关更多信息,请参见断点

  2. 在**“调试”菜单上,单击“启动调试”**。

  3. 即会显示**“未启用调试”对话框。 选择“修改 Web.config 文件以启用调试”选项,再单击“确定”**。

    Internet Explorer 即启动并显示您刚设计的页。

  4. 在 Internet Explorer 中,单击此按钮。

    在 Visual Studio 中,此操作将带您转到代码页 Default.aspx.cs 或 Default.aspx.vb 上设置了断点的行上。 该行将用黄色突出显示。 现在,可以查看应用程序中的变量并控制其执行。 应用程序停止执行并等待您的命令。

  5. 在**“调试”菜单上,单击“窗口”,再单击“监视”,然后单击“监视 1”**。

  6. 在**“监视”**窗口中,键入 TextBox1.Text。

    **“监视”**窗口将显示变量 TextBox1.Text 的值:

    ""
    
  7. 在**“调试”菜单上,单击“逐过程”**。

    TextBox1.Text 的值在**“监视”**窗口中更改为:

    "Button was clicked!"
    
  8. 在**“调试”菜单上,单击“继续”**。

  9. 在 Internet Explorer 中,再次单击此按钮。

    执行再次在断点处停止。

  10. 在 Default.aspx.cs 或 Default.aspx.vb 窗口中,单击左空白中的红点。

    这将移除该断点。

  11. 在**“调试”菜单上,单击“停止调试”**。

附加到 Web 窗体以进行调试

  1. 在 Visual Studio 中,可以将调试器附加到正在运行的进程上。 若要获得最佳调试效果,请将可执行文件编译为符号 (PDB) 文件的调试版本。

  2. 在 Default.aspx.cs 或 Default.aspx.vb 窗口中,在左边距中单击以再次在所添加的行上设置断点:

    ' Visual Basic
    TextBox1.Text = "Button was clicked!"
    
    // C#
    textBox1.Text = "Button was clicked!";
    
  3. 在**“调试”菜单上,单击“开始执行(不调试)”**。

    Web 窗体将开始在 Internet Explorer 下运行,但未附加调试器。

  4. 附加到 ASP.NET 进程。 有关更多信息,请参见调试已部署的 Web 应用程序

  5. 在 Internet Explorer 中,单击窗体上的按钮。

    在 Visual Studio 中,应当命中 Default.aspx.cs、Default.aspx.vb 或 Default.aspx 中的断点。

  6. 完成调试后,在**“调试”菜单上,单击“停止调试”**。

请参见

其他资源

调试 ASP.NET 和 AJAX 应用程序