一尘不染

Eclipse Java远程调试器通过VPN极其慢

java

有时我不得不离开办公室工作,这意味着我需要通过VPN进入实验室。我注意到在这种情况下使用Eclipse进行远程调试的速度非常慢。慢到调试器将5-7分钟连接到远程jvm的程度。连接后,每次执行断点/断行可能需要20到30秒,而且通常只是断开连接,这使我不得不重新开始。

即使没有可用的解决方案,任何人都可以解释为什么会这样吗?考虑到远程调试器的行为,我通过VPN的延迟几乎不会达到预期。我在VPN上以最小的延迟/阻塞进行了其他各种操作。

当基本上所有其他网络操作都很好时,我真的很难理解为什么远程调试器会受到VPN的困扰。

谢谢,


阅读 444

收藏
2020-12-03

共1个答案

一尘不染

伙计们,感谢您的帮助。幸运的是,我的一位遇到同样问题的同事对它进行了深入研究。从我同事的来信:

“我成立了一个代理我的Eclipse和我的VM之间坐在其打印出来的命令代码从JDWP包我的Eclipse被发送到我的虚拟机。
http://docs.oracle.com/javase/8/docs/platform/jpda/jdwp /jdwp-
protocol.html页面向我解释了这些命令的含义,我看到的是:每次我单步执行代码时,Eclipse都会向VM发送数十个与“线程监视器”相关的命令,它们与以下VM相关。功能:canGetMonitorInfo,canGetCurrentContendedMonitor,canGetOwnedMonitorInfo,canGetMonitorFrameInfo”

这些能力导致了疯狂的滞后。他已经制定出了一种强制禁用这些功能的解决方案,并且调试器的可用性猛增。显然,远程调试器的线程监视功能不再起作用,但是考虑到以前远程调试的不可用性,这是一个很大的折衷。

我将尝试找出他到底做了什么来禁用线程监视器功能。

2020-12-03