Debugging Preparation: Windows Forms ApplicationsĀ 

The Windows Forms project template creates a Windows Forms application using C#, J#, or Visual Basic and the common language runtime (CLR). Debugging this type of application in Visual Studio is straightforward. For more information, see How to: Create a Windows Application Project.

When you create a Windows Forms project with the project template, Visual Studio automatically creates required settings for the Debug and Release configurations. If necessary, you can change these settings. These settings can be changed in the <project name> Property Pages dialog box (My Project in Visual Basic).

For more information, see Managed Debugging: Recommended Property Settings.

The following table displays one additional recommended property setting.

Configuration Properties in Debug tab

Property Name Setting

Start Action

  • Set to Start project, in most cases. Set to Start external program if you want to start another executable when you start debugging (usually for debugging DLLs).

You can debug Windows Forms applications from inside Visual Studio, or by attaching to an already running application. For more information on attaching, see Attaching to Running Processes.

To debug a C#, J#, or Visual Basic Windows Forms application

  1. Open the project in Visual Studio.

  2. Create breakpoints as needed.

    Because Windows Forms applications are event-driven, your breakpoints will go into event handler code, or into methods called by event handler code. Typical events in which to place breakpoints include:

    1. Events associated with a control, such as Click, Enter, etc

    2. Events associated with application startup and shutdown such as Load, Activated, etc

    3. Focus and Validation Events

    For more information, see Creating Event Handlers in Windows Forms.

  3. On the Debug menu, click Start.

  4. Debug using the techniques discussed in Debugger Roadmap.

See Also

Concepts

How to: Set Debug and Release Configurations
Project Settings for C# and J# Debug Configurations
Project Settings for a Visual Basic Debug Configuration

Other Resources

Debugging Managed Code
Debugging Preparation: C#, J#, and Visual Basic Project Types
Attaching to Running Processes
Windows Forms