将IntelliJ IDEA调试器附加到远程java -server运行进程

时间:2017-07-24 13:03:34

标签: java debugging intellij-idea

我使用命令:

在Ubuntu虚拟机上运行Java appliaction
java -showversion -server -Xmx512M -Drps.home=${RPS_HOME} \
-Dcontainer.host=${CONTAINER_HOST} \
-Djava.util.logging.config.file=$4 \
-classpath ${RPS_LIBS} com.softel.rps.impl.core.SPEngine ${CONFIG} \
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9999

我用命令打开了端口9999(VirtualBox中的转发端口):

sudo ufw allow 9999/tcp

我尝试使用IntelliJ IDEA附加调试器: IDEA debug

最后我最终得到了错误

IOException "handshake failed - connection prematurally closed"

我在远程调试方面经验不足。你能告诉我是否可以将调试器附加到java -server进程?

1 个答案:

答案 0 :(得分:2)

尝试在其他所有内容之前指定-agentlib选项:

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9999
-showversion -server -Xmx512M -Drps.home=${RPS_HOME} \
-Dcontainer.host=${CONTAINER_HOST} \
-Djava.util.logging.config.file=$4 \
-classpath ${RPS_LIBS} com.softel.rps.impl.core.SPEngine ${CONFIG}