6

将 IDE(IntelliJ 或 Eclipse)中的调试器附加到在另一个大陆(伦敦到纽约)运行的 JVM 时,延迟是无法忍受的。我已经等了超过 10 分钟让 IntelliJ 填充我的堆栈帧并填写对象,然后在遇到断点时放弃。(注意:这样做时我从未见过完全填充的调试状态!)这使得使用 IDE 进行远程调试是不可能的!

我知道 jdb 工具,它不会遇到任何此类滞后问题。我想是因为它更适合从 VM 检索特定数据,而不是填充每个堆栈帧和所有可访问的值。

有人知道是否有中间立场吗?我发现 jdb 使用起来很麻烦——我希望看到一个没有遇到 IDE 滞后问题的 UI(构建在 jdb 之上)。有谁知道这样的应用程序是否存在?

有谁知道调试数千英里外执行的远程虚拟机的其他技术?

4

5 回答 5

3

购买在该大陆上运行的 linode 或其他 VPS 之类的东西(或者如果你有任何朋友在大陆上有空闲带宽)。

设置 X-Forwarding,并在使用 ssh 从您家连接到它的 VPS 上运行您的 IDE。

希望图形 X 滞后比您所说的调试滞后更容易忍受(提示:是的)。

于 2010-02-17T20:33:48.117 回答
1

它可能与您的连接带宽有关,而不是与调试器有关。

于 2010-02-17T20:29:47.017 回答
0

我使用的是 IDE IntelliJ 7.0.5,调试很糟糕。我已经升级到 IntelliJ 9 并且延迟似乎是可以忍受的。

我猜 IntelliJ 7.0.5 在与远程 VM 交谈时正在做一些“有趣的”事情。

于 2010-02-25T09:52:08.537 回答
0

您的问题并非无法解决:我使用 Eclipse 进行相反的操作(纽约到伦敦)。它不是活泼的,但它远非难以忍受,与你描述的完全不同。

我会问三个问题:
1)您是否完全依赖于 IntelliJ?
2)你在本地有依赖jar的副本吗?
3) 你的整体带宽如何?远程桌面如何执行?如何通过网络共享编辑文件?

于 2010-02-25T12:46:19.043 回答
0

从一个相当大的项目(几乎 100 个子项目,ping 时间 ~200-300 毫秒)的非常轻量级的测试来看,与 Eclipse 相比,Netbeans似乎做得很好。

您可以单步执行,只需几秒钟即可在 < 1 分钟内完成更新和附加。

不能使用 Eclipse 当然很烦人,但它是一个 GUI,因此比普通的 JDB 更好。

于 2016-02-15T13:50:12.733 回答