1

在文章(和示例)How to write an Eclipse Debugger中,ILaunch 的实现创建了一个新的 IDebugTarget(仅在调试模式下,不在运行模式下)。在这样做的同时,它总是会创建一个新的系统进程,并将其包装到一个 IProcess 中(很可能是 IProcess 的这个实现,org.eclipse.debug.core.model.RuntimeProcess)。它将 IProcess 附加到 IDebugTarget。

我的问题是,对于任何语言(不是 Java),调试目标是否一定需要系统进程?我有一种不能从一次性系统命令执行或调试的语言,它全部基于套接字。我需要为此实施一个新的 IProcess 吗?这是否可能/可行,因为 IProcess 似乎是一个系统进程包装器。Eclipse 是否强制从 Eclipse 生成新系统进程的模型?

4

1 回答 1

1

答案是肯定的,这是可能的,也是一个好主意。整个 IProcess 接口很可能是一个服务器连接,因为许多 IDE 要么生成一个进程,要么打开一个到服务器的连接(如交互式解释器或完整的应用程序服务器)。当然,基于服务器的 IProcess 没有通用实现,但是在本地生成进程是一件非常容易的事情,因为 Eclipse 提供了一个具体的类,因此当 RuntimeProcess 可用时。

此外,它甚至说(不是在文章中,但是同一位作者在演讲中介绍了生成与连接到服务器。具体来说,他说如果您不只是生成,请实现自己的 IProcess。

于 2013-03-28T19:17:41.487 回答