IntelliJ - 远程调试 - 无法打开调试端口

5
我正在使用IntelliJ 2017.3与Payara 4.1.2.172。以前我只需从命令行启动服务器并在端口9009上运行远程调试,一切都很正常。 enter image description here 然后我在IntelliJ中设置了一个带有附加模块的插件服务器,以启用HotSwap。我在调试模式下运行此服务器,它可以正常工作。
现在,如果我不使用插件服务器,而是想像以前那样启动服务器,当我运行远程调试时,我会收到以下错误:
错误
无法打开调试器端口(localhost:9009):java.net.ConnectException "Connection refused: connect"
我运行了netstat,发现没有任何东西在端口9009上运行。
问题
如何使服务器上的远程调试正常工作?
更多信息
domail.xml中有:
<system-property name="JAVA_DEBUGGER_PORT" value="9009"></system-property>

而在服务器配置的JVM设置中:

enter image description here

更多信息

我将上面的“启用”复选框设置为开启,但是现在当我尝试启动服务器时,出现以下错误,即服务器现在无法启动。(netstat显示端口9009上没有运行任何内容)

错误:传输错误202:连接失败:连接被拒绝 错误: JDWP传输dt_socket初始化失败,TRANSPORT_INIT(510) JDWP退出错误AGENT_ERROR_TRANSPORT_INIT(197):未初始化传输[debugInit.c:750]

如果我在damain.cml中将其设置为关闭,则仍然会出现错误,无法启动服务器。

<java-config classpath-suffix="" debug-options="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=${JAVA_DEBUGGER_PORT}" debug-enabled="true" system-classpath="">

这与IntelliJ IDEA无关,因为外部启动的服务器端口不接受连接。 - CrazyCoder
根据提供的截图显示,您的服务器设置中*调试(Debug)*复选框已禁用,因此服务器未在9009端口上侦听调试器。 - CrazyCoder
@CrazyCoder - 谢谢,我提到IntelliJ的原因是因为我只有在启用了IntelliJ中的HotSwap后才开始出现这个错误。现在即使我不使用HotSwap配置,我仍然会遇到这个错误。 - Richard
@CrazyCoder - 谢谢,我会启用它并尝试。 - Richard
1
看起来有些东西阻塞了9009端口。尝试将调试端口设置为其他值,例如在Payara服务器和IntelliJ设置中都设置为9019。 - OndroMih
3个回答

3
  1. 在glassfish\domains\domain1\config\domain.xml文件中:

<java-config classpath-suffix="" debug-options="-agentlib:jdwp=transport=dt_socket,address=9009,server=y,suspend=n" java-home="C:\Program Files\Java\jdk1.8.0_162" debug-enabled="true" system-classpath="">

或者在http://localhost:4848/common/index.jsf中, Glassfish 4 debug-enabled="true" address=9009,server=y,suspend=n 2. 在当前Idea - 服务器运行配置 - 调试 - 端口 - 地址 Server Run Configuration - Debug - Port - address


0
我曾经遇到同样的问题,这个解决方案对我也起了作用:如果你正在使用主机名“localhost”,请在Intellij调试配置中提供IP 127.0.0.1。

enter image description here


0

我有一个简单的解决方案,但这不是这个问题的永久修复。您可以使您的IntelliJ Idea失效并重新启动,然后再次尝试调试您的代码库。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接