在 Eclipse 中调试远程 Java 应用程序时如何定义参数?

How to define an argument when debugging a remote Java application in Ecilpse?

我正在尝试使用参数在 Linux 环境中调试远程 Java 应用程序。但是,我只能在调试 [local] Java 应用程序时找到定义参数的选项。我试图定义的参数是 java -Dsun.awt.disablegrab=true 以避免在事件处理程序中调试时系统挂起。鉴于此应用程序的性质,我无法在本地启动它;我只能将其作为远程 Java 应用程序进行调试,并将主机定义为本地主机。有没有办法使用上述参数为远程 Java 应用程序启动调试?

在此先感谢大家!

为了允许打开远程调试端口,应用程序(或其服务器)的启动将已经使用 Java 命令行参数进行参数化,例如内容如下:

-Djava.compiler=NONE -Xdebug -Xnoagent 
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=[your desired port]

当您在调试模式下启动进程时,我会简单地将您想要的参数添加到列表中。

在哪里可以找到启动配置取决于您使用的应用程序类型 运行。

由于您可能已经知道要连接的端口,因此您可能希望 grep 在您的配置文件中,在目标机器中(即在您的本地机器中,在这种特定情况下)它 - 这可能让您了解需要更改哪些资源。

澄清

这里的想法是你的本地Eclipse在远程调试时不启动应用程序,它只连接到你自己定义的套接字,有一个开放端口连接到你的目标机器。

因此,它取决于您的应用程序的启动配置(即 java 进程在启动您的应用程序时如何参数化)来定义用于远程调试的套接字(如果需要)以及您可能需要的任何启动参数.