Depósito de Informações do Provedor do Processo

Quando uma configuração de ativação ativa seu programa, ela é responsável por chamar o programa executável no modo pedido. A implementação para uma ativação dependerá de especificações de cada configuração de ativação, mas a maioria dos plug-ins construirão uma linha de comandos e chamarão um executável de tempo de execução para iniciar o programa. A classe DebugPlugin implementa um método de conveniência para chamar um executável de tempo de executável e manipular as exceções possíveis. Os clientes podem especificar a linha de comandos e o diretório de trabalho para o executável.

Process p = DebugPlugin.exec(cmdLine, workingDirectory);

Quando o java.lang.Process do programa de execução for criado, ele precisará ser gerenciado pelo plug-in de depuração. Para iniciantes, o processo precisa ser associado ao ILaunch que representa o programa ativado. O plug-in de depuração define um wrapper para um processo do sistema, IProcess, que permite que os clientes acessem o ILaunch associado e designe seus próprios atributos nomeados ao processo. Além disso, o IProcess, define uma etiqueta para o processo e associa um IStreamsProxy ao processo que fornece aos clientes acesso aos fluxos de entrada, de saída e de erros do processo do sistema. Esse wrapper do processo também pode ser criado utilizando um método utilitário em DebugPlugin.

IProcess process= DebugPlugin.newProcess(launch, p, "My Process);

Um mapa de atributos nomeados também pode ser fornecido.

Muitos plug-ins podem simplesmente confiar nos métodos utilitários em DebugPlugin para ativar o processo do sistema e agrupá-lo em um IProcess. Para aqueles plug-ins que precisam de mais controle na criação do wrapper, um depósito de informações do provedor do processo pode ser associado a uma configuração de ativação. O depósito de informações do provedor do processo é utilizado para criar um IProcess que atende às necessidades especiais do plug-in. O depósito de informações do provedor do processo é referenciado pelo ID e deve ser armazenado no atributo DebugPlugin.ATTR_PROCESS_FACTORY_ID da configuração de ativação.

A associação entre o ID do depósito de informações do provedor do processo e a classe que o implementa é feita utilizando o ponto de extensão org.eclipse.debug.core.processFactories.

O exemplo a seguir mostra como o plug-in Ant configura um depósito de informações do provedor do processo para suas ativações:

<extension point="org.eclipse.debug.core.processFactories">
	<processFactory
		class="org.eclipse.ant.internal.ui.launchConfigurations.RemoteAntProcessFactory"
		id="org.eclipse.ant.ui.remoteAntProcessFactory">
	</processFactory>
    </extension>

É de responsabilidade do plug-in de registro armazenar o ID do depósito de informações do provedor do processo no atributo de configuração de ativação apropriado.