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

时间:2018-08-21 12:43:46

标签: java linux eclipse debugging remote-debugging

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

谢谢大家!

1 个答案:

答案 0 :(得分:1)

为了允许打开端口以进行远程调试,应用程序(或其服务器)的启动将已经使用Java命令行参数进行了参数设置,例如符合以下条件的

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

在调试模式下启动进程时,我只是将所需参数添加到列表中。

在何处找到启动配置将取决于您正在运行的应用程序的类型。

由于您可能已经知道要连接的端口,因此您可能想在配置文件中,目标计算机中(例如,在本机中为本地计算机)grep-可能会给您一个想法,您需要对哪些资源进行更改。

说明

这里的想法是,本地Eclipse在远程调试时不会启动应用程序,它仅连接到您自己定义的套接字,并带有开放端口以连接到目标计算机。

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