2009-11-10 183 views
1

當我嘗試通過eclipse遠程調試java應用程序時,出現以下消息。 「 」無法連接到遠程虛擬機,連接被拒絕。「 什麼可能是錯誤?遠程調試Java應用程序

回答

3

您需要使用適當的選項調用要調試的進程,例如,

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044 

(替代用適當的端口如果必要的話),它聽起來像VM未配置的端口上偵聽。您可以使用netstat /a確認虛擬機是否在該端口上監聽(或telnet

+0

當我嘗試netstat /我得到: TCP DEV-MACHINE2:8787 localhost:1261 ESTABLISHED 這是我使用的端口號8787的唯一條目。 – devnull

1

你有沒有端口8000,或者你的防火牆上打開了什麼端口來配置遠程連接?

+0

現在我正在測試我的機器。所以這不會是個問題吧? – devnull

+0

不,它不應該是一個問題,如果它在同一臺機器上... –

1

遠程應用程序需要先啓動。您是否將參數添加到目標遠程應用程序,以便它接受調試連接/

+0

是的,我確實啓動了遠程appln。 – devnull

+0

有時端口尚未從上次運行時釋放。在Windows上執行'netstat -a'並查找遠程應用程序用於偵聽調試連接的端口。如果它仍然打開,您將無法打開遠程調試會話。關閉端口/套接字,或者如果它關閉它,請更改使用的端口。希望在鎖定第二個套接字之前,第一個套接字最終會釋放。 –

1

確保您的JVM啓動時使用這些選項

-Xdebug -Xrunjdwp:交通= dt_socket,地址= 8000,服務器= Y,暫停= N

和端口8000是免費

+0

如何檢查端口是否空閒.. – devnull

+0

只是做一個netstat -an | grep 8000 –

2

對於客戶端的調試,我遇到了同樣的問題來到

URL -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=4081 

更改端口號解決了問題。