IEnumDebugPrograms2

Applies to: yesVisual Studio noVisual Studio for Mac

Note

This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here

This interface enumerates the programs running in the current debug session.

Syntax

IEnumDebugPrograms2 : IUnknown

Notes for Implementers

The debug engine (DE) implements this interface to provide a list of programs being debugged by the DE.

Notes for Callers

Visual Studio calls EnumPrograms to obtain this interface. EnumPrograms is not used by Visual Studio.

Methods in Vtable Order

The following table shows the methods of IEnumDebugPrograms2.

Method Description
Next Retrieves a specified number of programs in an enumeration sequence.
Skip Skips a specified number of programs in an enumeration sequence.
Reset Resets an enumeration sequence to the beginning.
Clone Creates an enumerator that contains the same enumeration state as the current enumerator.
GetCount Gets the number of programs in an enumerator.

Remarks

Visual Studio uses this interface to:

  • Populate the Modules window (by calling EnumPrograms and then calling EnumModules on each program).

  • Populate the Attach to Process list (by calling IDebugProcess2::EnumPrograms and then calling QueryInterface on each IDebugProgram2 interface to obtain an IDebugEngineProgram2 interface).

  • Generate a list of DEs that can debug each program in the process (using GetEngineInfo).

  • Apply Edit and Continue (ENC) updates to each program (by calling IDebugProcess2::EnumPrograms and then calling GetENCUpdate).

Requirements

Header: msdbg.h

Namespace: Microsoft.VisualStudio.Debugger.Interop

Assembly: Microsoft.VisualStudio.Debugger.Interop.dll

See also