跨大陆远程Java调试

时间:2010-02-17 20:27:11

标签: java debugging jdb

将IDE(IntelliJ或Eclipse)中的调试器连接到在另一个大陆(伦敦到纽约)运行的JVM时,滞后是无法忍受的。我等了超过10分钟,IntelliJ填充我的堆栈并填写对象,然后在遇到断点时放弃。 (注意:在执行此操作时,我从未见过完全填充的调试状态!)这使得使用IDE无法进行远程调试!

我知道jdb工具,它没有遇到任何这样的滞后问题。我想是因为它更精细地调整来自VM的特定数据检索,而不是填充每个堆栈帧和所有可访问的值。

是否有人知道是否存在中间立场?我发现使用jdb很麻烦 - 我很想看到一个没有遇到IDE滞后问题的UI(在jdb上构建)。有谁知道这样的申请是否存在?

有没有人知道调试远在千里之外的远程虚拟机的其他技术?

5 个答案:

答案 0 :(得分:3)

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

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

希望图形X延迟比你谈到的调试滞后更可忍受(提示:是)。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

你的问题不是无法解决的:我使用Eclipse做反向(纽约到伦敦)。它并不明快,但它无法忍受,也没有你所描述的那样。

我问三个问题:
    1)你绝对与IntelliJ联系在一起吗?
    2)您是否在当地拥有从属罐子的副本?     3)整体带宽如何?远程桌面如何执行?如何通过网络共享编辑文件?

答案 4 :(得分:0)

通过对一个相当大的项目(几乎100个子项目,ping时间~200-300ms)的非常轻微的测试,与Eclipse相比,Netbeans似乎没有问题。

您可以步进,并且需要几秒钟的时间来更新并附加< 1分钟。

无法使用Eclipse当然很烦人,但它是一个GUI,比普通的JDB更好。