Wanneer een programma wordt gestart via een startconfiguratie, moet dat programma worden uitgevoerd in de aangevraagde werkstand. De implementatie voor een startaanvraag is afhankelijk van de specifieke eigenschappen van een startconfiguratie, maar de meeste plugins bouwen een opdrachtregel en roepen een runtime-exec aan om het programma te starten. De klasse DebugPlugin implementeert een gemaksmethode om een runtime-exec aan te roepen en mogelijke uitzonderingen af te handelen. De opdrachtregel en werkdirectory voor de exec kunnen per client worden opgegeven.
Process p = DebugPlugin.exec(cmdLine, workingDirectory);
Nadat java.lang.Process is gemaakt voor het programma dat wordt uitgevoerd, moet het worden beheerd door de foutopsporingsplugin. Om te beginnen moet het proces worden gekoppeld aan de ILaunch die het gestarte programma vertegenwoordigt. De foutopsporingsplugin definieert een wrapper voor een systeemproces, IProcess, dat clients in staat stelt om toegang te krijgen tot de gekoppelde ILaunch en hun eigen benoemde kenmerken aan het proces toe te wijzen. Daarnaast definieert IProcess een label voor het proces en koppelt een IStreamsProxy aan het proces zodat clients toegang krijgen tot de invoer-, uitvoer- en foutstromen van het systeemproces. Deze proceswrapper kan ook worden gemaakt met behulp van een utility-methode in DebugPlugin.
IProcess process= DebugPlugin.newProcess(launch, p, "Mijn proces);
Er kan ook een toewijzing van benoemde kenmerken worden opgegeven.
Bij veel plugins worden de utility-methoden in DebugPlugin gebruikt om het systeemproces te starten en in een IProcess te verpakken (wrap). Voor plugins waarbij u meer controle wilt over de aanmaak van de wrapper, kunt u een procesfactory koppelen aan een startconfiguratie. De procesfactory wordt gebruikt om een IProcess te maken die voldoet aan de speciale vereisten voor de plugin. De procesfactory is gekoppeld aan een ID en moet worden opgeslagen in het kenmerk DebugPlugin.ATTR_PROCESS_FACTORY_ID van de startconfiguratie.
De koppeling tussen de procesfactory-ID en de klasse waarmee de procesfactory wordt geïmplementeerd, wordt gemaakt met het extensiepunt org.eclipse.debug.core.processFactories.
In het onderstaande voorbeeld wordt door de Ant-plugin een procesfactory ingesteld om processen te starten:
<extension point="org.eclipse.debug.core.processFactories"> <processFactory class="org.eclipse.ant.internal.ui.launchConfigurations.RemoteAntProcessFactory" id="org.eclipse.ant.ui.remoteAntProcessFactory"> </processFactory> </extension>
Het is aan de registrerende plugin om de procesfactory-ID op te slaan in het juiste kenmerk van de startconfiguratie.