我使用以下命令在 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
最后我遇到了错误
IOException "handshake failed - connection prematurally closed"
我在远程调试方面经验不是很丰富。你能告诉我是否可以将调试器附加到 java -server 进程?
最佳答案
尝试先指定 -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}
关于java - 将 IntelliJ IDEA 调试器附加到远程 java 服务器运行进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45281396/