Перевод выполняемой программы в требуемый режим осуществляется конфигурацией запуска, с использованием которой запускается программа. Осуществление запуска зависит от конфигурации; большая часть модулей формирует командную строку и запускает программу. Классом DebugPlugin реализован удобный метод вызова исполняемого файла и обработки возможных исключений. Клиенты могут указывать командную строку и рабочий каталог программы.
Process p = DebugPlugin.exec(cmdLine, workingDirectory);
java.lang.Process выполняемой программы управляется модулем отладки. Процесс инициатора должен быть ассоциирован с ILaunch (представляет запущенную программу). Модулем отладки определена оболочка системного процесса, IProcess, предоставляющая клиентам доступ к связанному ILaunch и присваивающая процессу заданные атрибуты. IProcess определяет метку процесса и связывает IStreamsProxy с процессом, предоставляющим клиентам доступ к потокам ввода, вывода и ошибок системного процесса. Оболочку также можно создать с помощью метода DebugPlugin.
IProcess process= DebugPlugin.newProcess(launch, p, "My Process);
Возможно получить также карту связей именованных атрибутов.
Запуск системного процесса и создание оболочки IProcess многими модулями осуществляется с помощью методов DebugPlugin. Если модулю необходимо управлять созданием оболочки, с конфигурацией запуска ассоциируется фабрика процессов. С помощью фабрики процессов можно создать IProcess, на который модулем накладываются дополнительные требования. Каждой фабрике процессов ставится в соответствие идентификатор, которому должно соответствовать значение атрибута DebugPlugin.ATTR_PROCESS_FACTORY_ID конфигурации запуска.
Фабрика процессов ассоциируется с реализующим ее классом с помощью точки расширения org.eclipse.debug.core.processFactories.
В приведенном ниже примере модулем Ant устанавливается фабрика процессов:
<extension point="org.eclipse.debug.core.processFactories"> <processFactory class="org.eclipse.ant.internal.ui.launchConfigurations.RemoteAntProcessFactory" id="org.eclipse.ant.ui.remoteAntProcessFactory"> </processFactory> </extension>
Идентификатор фабрики процессов должен быть сохранен в соответствующем атрибуте конфигурации запуска регистрирующим модулем.