## Launching a program

The platform debug plug-ins allow you to extend the platform so that your program can be launched properly, obtaining input from the user if necessary.

The class ILaunchConfiguration is used to describe how a program should be launched. A launch configuration keeps a set of named attributes that can be used to store data specific for a particular kind of launcher. Users interact with a launch configuration dialog to set up the parameters for different types of launches. These configurations can be stored in a file to be shared with other users or stored locally in the workspace.

Plug-ins can contribute additional types of launchers and provide an ILaunchConfigurationDelegate that knows how to launch a program given the expected type of launch configuration. Once the program is launched, an ILaunch object is used to represent the launched session. This object can be queried for information such as running processes, debug session information, and source code location. A launch knows the configuration that was used to create it.