2010-02-17 74 views
6

將調試器連接到IDE(IntelliJ或Eclipse)時,在另一個大陸(倫敦到紐約)運行的JVM時,滯後是無法忍受的。我已經等了超過10分鐘的時間讓IntelliJ填充我的堆棧框架並填充對象,然後再放棄時輸入一個斷點。 (注意:這樣做時,我從來沒有見過完全填充的調試狀態!)這使得使用IDE進行遠程調試成爲不可能!跨大洲遠程Java調試

我知道jdb工具,它不會遇到任何此類滯後問題。我想象,因爲它更適合於從VM中獲取特定的數據,而不是填充每個堆棧幀和所有可訪問的值。

有人知道是否有中間地帶?我發現jdb使用繁瑣 - 我很想看到一個UI(構建在jdb之上),它沒有遇到IDE的滯後問題。有誰知道這樣的應用程序是否存在?

有誰知道其他技術來調試遠程虛擬機執行千里之外?

+0

是否壓縮了您的TCP/IP連接?幫助相當多。 – 2010-02-17 20:57:10

回答

1

這可能與您的連接帶寬有關,而不是與調試器有關。

+2

當光線只能從那裏返回並返回到500毫秒時,您無法做很多事情。 – Earlz 2010-02-17 22:01:57

3

購買像在所述大陸上運行的linode或其他VPS(或者如果您有任何擁有生活在歐洲的備用帶寬的朋友)。

設置X-Forwarding,並在VPS上運行你的IDE,從你的家中用ssh連接到它。

希望圖形X滯後比您提到的調試滯後更容易忍受(提示:是)。

+0

圖形X也可能非常痛苦(壓縮有時可以幫助,但大多數情況下不會)。 VNC可以更好一點,但仍然不是很好。如果您可以使用它們,Sun SSGD或Microsoft RD協議/方法將大大改善。 – 2010-02-17 20:55:45

+0

我實際上並沒有將X用於長距離,但我知道VNC在連接到美國另一端時並不壞。只要你有合理的分辨率等等。 – Earlz 2010-02-17 21:09:27

0

我正在使用IDE IntelliJ 7.0.5,調試非常糟糕。我已經升級到IntelliJ 9,並且延遲似乎是可以忍受的。

我猜IntelliJ 7.0.5在與遠程虛擬機交談時做了一些「有趣的事情」。

0

你的問題不能解決:我使用Eclipse做了相反的事情(紐約到倫敦)。它不是很明智,但它遠不能忍受,也不像你所描述的那樣。

我會問三個問題:
1)你是否絕對綁定到IntelliJ?
2)您是否有本地副本?
3)您的帶寬整體如何?遠程桌面如何執行?如何通過網絡共享編輯文件?

+0

1)是的 2)是的 3)好。 FTP和遠程桌面都很棒。 我只能想象IDE調試器很愚蠢,以非智能的方式向VM提出各種瘋狂的問題 - 即沒有考慮到每次調用可能需要> 500ms的問題。 – 2010-07-13 09:51:24

0

從一個相當大的項目(幾乎100個子項目,ping時間〜200-300ms)的非常輕的測試中,Netbeans與Eclipse相比似乎沒有問題。

你可以一步,它需要幾秒鐘來更新和附加在< 1分鐘。

當然令人討厭的是無法使用Eclipse,但它是一個GUI,比普通的JDB更好。