我在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服务器进程?
2条答案
按热度按时间xqk2d5yq1#
尝试在所有其他操作之前指定-agentlib选项:
qybjjes12#
使用以下命令启动应用程序:
并从您的想法启动远程调试器(我的想法):
编辑配置>(+)使用默认选项添加远程JVM调试:)