IVsSolutionBuildManager.DebugLaunch(UInt32) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Launches the startup project specified by the solution as the debug project.
public:
int DebugLaunch(System::UInt32 grfLaunch);
public:
int DebugLaunch(unsigned int grfLaunch);
int DebugLaunch(unsigned int grfLaunch);
public int DebugLaunch (uint grfLaunch);
abstract member DebugLaunch : uint32 -> int
Public Function DebugLaunch (grfLaunch As UInteger) As Integer
Parameters
- grfLaunch
- UInt32
[in] Specifies launch flags. See __VSDBGLAUNCHFLAGS for more information.
Returns
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
COM Signature
From vsshell.idl:
HRESULT IVsSolutionBuildManager::DebugLaunch(
[in] VSDBGLAUNCHFLAGS grfLaunch
);
The solution build manager tracks the startup project or projects that an operation will be performed against when the F5 key is pressed through entries in the Solution Configuration property pages. IVsSolutionBuildManager is called by the environment to determine when the F5 key will be enabled. When the environment is in debug mode, it disables the F5 key until either debugging reaches a breakpoint, in which case the F5 key will be enabled with a Continue command, or when debugging stops, in which case the F5 key will be enabled with a Start command.
When F5 is pressed, DebugLaunch
will be called by the debug manager component of the environment to begin operation on the startup project or projects. At that point, the environment calls IVsDebuggableProjectCfg:: DebugLaunch on the active project configuration of each of the startup projects, which launches a debug session on the project configuration target using project-specific information.
Note
The launched debugger may be a managed or native debug engine from Microsoft, or a custom debugger of your own design as a VSIP developer.
IVsSolutionBuildManager knows which project or projects to include in the build process based on the settings in the Solution Configuration property pages, and the individual projects know what needs to be run when the DebugLaunch
is called based on the configuration settings as displayed in the Project Configuration property pages. For more information, see Managing Configuration Options.
In some cases, you might want to have a package other than the debugger launch when the F5 key is pressed. In that case, your VSPackage, through its implementation of IVsSolutionBuildManager and DebugLaunch
, determines the startup project or projects against which the package will operate and begin processing.