演练:调试 Windows 窗体

更新:2010 年 12 月

本主题适用于:

版本

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. 在**“调试”菜单上,选择“停止调试”**。

附加到 Windows 窗体应用程序以进行调试

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

附加到 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 窗体的执行。

请参见

概念

调试器安全

其他资源

调试托管代码

修订记录

日期

修订记录

原因

2010 年 12 月

添加注释,介绍插入断点的另一方法,即使用上下文菜单插入断点。

客户反馈