将IntelliJ IDEA调试器附加到远程java服务器运行进程

mzillmmw  于 2023-05-27  发布在  Java
关注(0)|答案(2)|浏览(136)

我在Ubuntu虚拟机上运行Java应用程序,命令如下:

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附加调试器:

最后我以error结束

IOException "handshake failed - connection prematurally closed"

我在远程调试方面不是很有经验。你能告诉我是否有可能附加调试器到java服务器进程?

xqk2d5yq

xqk2d5yq1#

尝试在所有其他操作之前指定-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}
qybjjes1

qybjjes12#

使用以下命令启动应用程序:

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar .\your_app.jar -showversion -server

并从您的想法启动远程调试器(我的想法):
编辑配置>(+)使用默认选项添加远程JVM调试:)

相关问题