This documentation is archived and is not being maintained.

IVsDebugger2.LaunchDebugTargets2 Method

Launches or attaches to the specified processes under the control of the debugger.

Namespace: Microsoft.VisualStudio.Shell.Interop
Assembly: Microsoft.VisualStudio.Shell.Interop.8.0 (in

int LaunchDebugTargets2 (
	[InAttribute] uint DebugTargetCount,
	[InAttribute] IntPtr pDebugTargets
int LaunchDebugTargets2 (
	/** @attribute InAttribute() */ UInt32 DebugTargetCount, 
	/** @attribute InAttribute() */ IntPtr pDebugTargets
function LaunchDebugTargets2 (
	DebugTargetCount : uint, 
	pDebugTargets : IntPtr
) : int



[in] Number of targets to launch (specifies the number of VsDebugTargetInfo2 structures pointed to by pDebugTargets).


[in, out] Array of VsDebugTargetInfo2 structures describing the programs to launch or attach to.

Return Value

If the method succeeds, it returns S_OK. If it fails, it returns an error code.

COM Signature

From vsshell80.idl:

HRESULT IVsDebugger2::LaunchDebugTargets2(
   [in] ULONG DebugTargetCount,
   [in, out, size_is(DebugTargetCount)] VsDebugTargetInfo2* pDebugTargets

This is the method called by the DebugLaunch method to perform the launch. This indirection gives DebugLaunch a chance to make changes or additions to the debug launch cycle before launching the debugger. For example, one addition would be adding custom debug engines to launch with the process.


An example implementation of DebugLaunch and how it uses IvsDebugger::LaunchDebugTargets can be found in the My C Package Sample sample.