在Jetty下使用Idea远程调试项目时,提示为:timeout during handshake
Posted
技术标签:
【中文标题】在Jetty下使用Idea远程调试项目时,提示为:timeout during handshake【英文标题】:When using Idea to remotely debug a project under Jetty, the prompt is :timeout during handshake 【发布时间】:2022-01-21 19:11:21 【问题描述】:我在IDEA中使用Remote JVM Debug在服务器上远程调试我的jetty项目,提示如下:timeout during handshake
2021-12-20T03:14:04.816059981Z Listening for transport dt_socket at address: 16005
2021-12-20T03:14:05.755978464Z 2021-12-20 11:14:05.752:INFO::main: Logging initialized @1042ms to org.eclipse.jetty.util.log.StdErrLog
2021-12-20T03:14:05.866523012Z 2021-12-20 11:14:05.865:INFO:oeju.TypeUtil:main: JVM Runtime does not support Modules
2021-12-20T03:14:06.184914262Z 2021-12-20 11:14:06.184:INFO::main: Console stderr/stdout captured to /hostfiles/logs/2021_12_20.jetty.log
2021-12-20T03:20:02.669027944Z Debugger failed to attach: timeout during handshake
启动配置如下:
java -server \
-Xmx3550m \
-Xms3550m \
-Xmn1256m \
-Xss228k \
-Xdebug \
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=16005 \
-XX:SurvivorRatio=6 \
-XX:MaxMetaspaceSize=256m \
-XX:ParallelGCThreads=8 \
-XX:MaxTenuringThreshold=0 \
-XX:+UseConcMarkSweepGC \
-jar $JETTY_HOME/start.jar \
jetty.base=/hostfiles
Jetty在Docker中,使用jdk 1.8,预设参数如下:
【问题讨论】:
你用什么做调试器?您在调试器端使用了哪些 jwdp 连接选项? 我投票结束这个问题,因为它不是英文的 我认为语言不会影响知识的分享,但我已将其更新为英文,以便大家查看。 如果您的$jetty.base
配置使用需要分叉 JVM 的东西,那么这种简单的方法是不可能的。见github.com/eclipse/jetty.project/issues/7299
这是一个很好的答案。谢谢你。 @Joakim Erdfelt
【参考方案1】:
目前的问题是由于Jetty中的fork JVM没有高效配置造成的。
见https://github.com/eclipse/jetty.project/issues/7299
【讨论】:
以上是关于在Jetty下使用Idea远程调试项目时,提示为:timeout during handshake的主要内容,如果未能解决你的问题,请参考以下文章
Idea添加Jetty时提示JMX module is not included
Jetty启动项目失败?两个命令解决address already in use问题