Eclipse Java 远程调试器在 VPN 上速度极慢

2022-09-02 03:54:32

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

任何人都可以解释为什么会这样,即使没有可用的解决方案?鉴于远程调试器的行为,我通过VPN的延迟几乎不是人们所期望的。我通过VPN以最小的滞后/障碍做各种其他事情。

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

谢谢


答案 1

谢谢你试图帮助,伙计们。幸运的是,我的一位同事受到同样问题的困扰,深入研究了它。从我同事的信件中:

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

这些功能正在造成疯狂的滞后。他设计了一个强行禁用这些功能的解决方案,调试器的可用性飙升。显然,远程调试器的线程监视功能不再有效,但考虑到远程调试以前是多么不可用,这是一个很大的折衷方案。

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


答案 2

残疾确实帮助了我。
在调试透视图中很难发现。因此,只需发布链接中缺少的图像即可。Show monitorBottom facing triangle

enter image description here