【问题标题】:How to define an argument when debugging a remote Java application in Ecilpse?在 Eclipse 中调试远程 Java 应用程序时如何定义参数?
【发布时间】:2019-01-27 15:48:29
【问题描述】:

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

提前感谢大家!

【问题讨论】:

    标签: java linux eclipse debugging remote-debugging


    【解决方案1】:

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

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

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

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

    由于您可能已经知道要连接的端口,您可能希望在您的配置文件中,在目标机器(即在您的本地机器中,在这种特定情况下)中 grep 它 - 这可能会给您一个想法您需要对什么资源进行更改。

    澄清

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

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

    【讨论】:

      猜你喜欢
      • 2013-11-21
      • 2010-12-31
      • 2012-08-04
      • 1970-01-01
      • 2013-01-29
      • 2014-08-13
      • 2012-03-23
      • 2010-11-01
      相关资源
      最近更新 更多