我正在尝试使用参数在 Linux 环境中调试远程 Java 应用程序。但是,我只能在调试 [本地] Java 应用程序时找到定义参数的选项。我试图定义的论点是java -Dsun.awt.disablegrab=true避免在我调试事件处理程序时系统挂起。鉴于此应用程序的性质,我无法在本地启动它;我只能将其调试为远程 Java 应用程序并将主机定义为 localhost。有没有办法使用上述参数启动远程 Java 应用程序的调试?
1 回答
![?](http://img1.sycdn.imooc.com/533e52b90001456f02000200-100-100.jpg)
慕森卡
TA贡献1806条经验 获得超8个赞
为了允许打开远程调试端口,应用程序(或其服务器)的启动将使用 Java 命令行参数进行参数化,例如:
-Djava.compiler=NONE -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=[your desired port]
当您在调试模式下启动进程时,我会简单地将您想要的参数添加到列表中。
在哪里可以找到启动配置取决于您正在运行的应用程序类型。
由于您可能已经知道要连接的端口,因此您可能希望grep
在配置文件、目标机器(即在这种特定情况下在本地机器中)中使用它 - 这可能会让您知道需要制作什么资源更改为。
澄清
这里的想法是您的本地 Eclipse 在远程调试时不会启动应用程序,它只连接到您自己定义的套接字,并使用开放端口连接到您的目标机器。
因此,它取决于您的应用程序的启动配置(即java
在启动应用程序时如何参数化进程)来定义用于远程调试的套接字(如果需要)以及您可能需要的任何启动参数。
添加回答
举报
0/150
提交
取消