This documentation is archived and is not being maintained.

IVsDebugger.LaunchDebugTargets Method

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

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

int LaunchDebugTargets (
	[InAttribute] uint cTargets,
	[InAttribute] IntPtr rgDebugTargetInfo
int LaunchDebugTargets (
	/** @attribute InAttribute() */ UInt32 cTargets, 
	/** @attribute InAttribute() */ IntPtr rgDebugTargetInfo
function LaunchDebugTargets (
	cTargets : uint, 
	rgDebugTargetInfo : IntPtr
) : int



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


[in, out] Array of VsDebugTargetInfo 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 vsshell.idl:

HRESULT IVsDebugger::LaunchDebugTargets(
   [in] ULONG cTargets,
   [in, out, size_is(cTargets)] VsDebugTargetInfo *rgDebugTargetInfo

This is the method called by the DebugLaunch method to do the launch. This indirection gives DebugLaunch a chance to make changes or additions to the debug launch cycle; for example, adding custom debug engines to launch with the process.


You can find an example implementation of DebugLaunch and how it uses IvsDebugger::LaunchDebugTargets in the My C Package Sample sample.