演练:调试 Windows 窗体

更新:2007 年 11 月

本主题适用于:

版本

Visual Basic

C#

C++

Web Developer

速成版

主题适用 主题适用

仅限托管

主题适用

标准版

主题适用 主题适用

仅限托管

主题适用

专业团队版

主题适用 主题适用

仅限托管

主题适用

表格图例:

主题适用

适用

主题不适用

不适用

主题适用,但命令默认情况下隐藏

默认情况下隐藏的一条或多条命令。

Windows 窗体是最常用的托管应用程序之一。Windows 窗体用来创建标准的 Windows 应用程序。可以使用 Visual Basic、C# 或 C++ 完成此演练。

首先,必须关闭所有打开的解决方案。

准备此次演练

  • 如果已经打开某个解决方案,请关闭它。(从“文件”菜单中选择“关闭解决方案”。)

创建新的 Windows 窗体

然后,您将创建新的 Windows 窗体。

为本演练创建 Windows 窗体

  1. 从“文件”菜单中选择“新建”,然后单击“项目”。

    “新建项目”对话框随即出现。

  2. 在“项目类型”窗格中打开“Visual Basic”、“Visual C#”或“Visual C++”节点,然后

    1. 对于 Visual Basic 或 Visual C#,选择“Windows”节点,然后在“模板”窗格中选择“Windows 窗体应用程序”。

    2. 对于 C++,选择“CLR”节点,然后在“模板”窗格中选择“Windows 窗体应用程序”。

  3. 在“模板”窗格中选择“Windows 应用程序”。

  4. 在“名称”框中,为该项目提供一个唯一的名称(例如 Walkthrough_SimpleDebug)。

  5. 单击“确定”。

    Visual Studio 创建一个新项目,并在 Windows 窗体设计器中显示一个新窗体。有关更多信息,请参见 Windows 窗体设计器

  6. 从“视图”菜单中选择“工具箱”。

    随即打开“工具箱”。有关更多信息,请参见工具箱

  7. 在“工具箱”中,单击“Button”控件并将该控件拖动到窗体设计图面上。将该按钮放在窗体上。

  8. 在“工具箱”中,单击“TextBox”控件并将该控件拖动到窗体设计图面上。将“TextBox”放在窗体上。

  9. 在窗体设计图面上,双击按钮。

    这将转到代码页。光标应位于 button1_Click 中。

  10. 在函数 button1_Click 中,添加下面代码:

    ' Visual Basic
    textBox1.Text = "Button was clicked!"
    
    // C#
    textBox1.Text = "Button was clicked!";
    
    // C++
    textBox1->Text = "Button was clicked!";
    
  11. 从“生成”菜单中选择“生成解决方案”。

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

调试窗体

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

调试为本演练创建的 Windows 窗体

  1. 在源窗口中,单击添加的文本所在的行左边的空白:

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

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

  2. 从“调试”菜单中选择“启动”。

    Windows 窗体开始运行。

  3. 在此 Windows 窗体上,单击您添加的按钮。

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

    说明:

    如果“活动的解决方案配置”设置为“发布”,则执行将不会在断点处停止。这是在模拟实际发布程序的行为。标记断点的圆圈将包含一个白色问号。如有必要,请使用“配置管理器”对话框将此设置更改回“调试”。

  4. 从“调试”菜单中选择“窗口”,然后选择“监视”并单击“Watch1”。

  5. 在“Watch1”窗口中,单击一个空行。在“名称”列中键入 textBox1.Text(如果使用的是 Visual Basic、Visual C# 或 J#)或 textBox1->Text(如果使用的是 C++),然后按 Enter。

    “Watch1”窗口在引号中显示此变量的值,如下所示:

    ""
    
  6. 从“调试”菜单中选择“逐语句”。

    textBox1.Text 的值在“Watch1”窗口中更改为:

    Button was clicked!
    
  7. 从“调试”菜单中选择“继续”以继续调试程序。

  8. 在 Windows 窗体上,再次单击按钮。

    Visual Studio 再次中断执行。

  9. 单击表示断点的红点。

    这将从代码中移除该断点。

  10. 从“调试”菜单中选择“停止调试”。

附加到窗体以供调试

在 Visual Studio 2005 中,可以将调试器附加到正在运行的进程。如果使用的是速成版,则不支持此功能。

附加到 Windows 窗体以进行调试

  1. 在上面创建的项目中,单击左边的空白以再次在添加的行上设置断点:

    ' Visual Basic
    textBox1.Text = "Button was clicked!"
    
    // C#
    textBox1.Text = "Button was clicked!"
    
    // C++
    textBox1->Text = "Button was clicked!";
    
  2. 在“调试”菜单中选择“开始执行(不调试)”。

    此 Windows 窗体开始在 Windows 下运行,就像双击了它的可执行文件一样。未附加调试器。

  3. 从“调试”菜单中选择“附加到进程”。(此命令也可从“工具”菜单使用。)

    出现“附加到进程”对话框。

  4. 在“可用进程”窗格中,在“进程”列中找到进程名称 (Walkthrough_SimpleDebug.exe) 并单击。

  5. 单击“附加”按钮。

  6. 在 Windows 窗体中,单击唯一的按钮。

    调试器将在断点处中断 Windows 窗体的执行。

请参见

概念

调试器安全

其他资源

调试托管代码