This documentation is archived and is not being maintained.

Debugger.CurrentProgram Property

Sets or gets the active program.

Namespace: EnvDTE
Assembly: EnvDTE (in envdte.dll)

Program CurrentProgram { get; set; }
/** @property */
Program get_CurrentProgram ()

/** @property */
void set_CurrentProgram (/** @attribute InAttribute() */ Program Program)

function get CurrentProgram () : Program

function set CurrentProgram (Program : Program)

Property Value

The active Program.

CurrentProgram sets or returns the active Program. The active program is the program that defines the data displayed by the debugger. Although the debugger supports debugging more than one process at a time, only one process can be active at any given time. See Debugging Multiple Programs for more information.

The following example demonstrates how to use the CurrentProgram property.

To test this property:

  1. Open the target application. Run the add-in. No program is being debugged.

  2. Set a breakpoint in the target application. Run the application in the debug mode.

  3. When the program stops on the breakpoint, run the add-in. The program is being debugged.

public static void CurrentProgram(DTE dte)
    // Setup the debug Output window.
    Window w = (Window)dte.Windows.Item(EnvDTE.Constants.vsWindowKindOutput);
    w.Visible = true;
    OutputWindow ow = (OutputWindow)w.Object;
    OutputWindowPane owp = ow.OutputWindowPanes.Add("Current Program Test");

    owp.OutputString("Current Program Info: ");
    EnvDTE.Program program = dte.Debugger.CurrentProgram;
    if(program == null)
        owp.OutputString("No program is being debugged");
        owp.OutputString("Program Name = " + program.Name);