以下內容轉自:http://blog.csdn.net/u011008029/article/details/50586793
eclipse遠程調試時出現:Failed to connect to remote VM. Connection refused. Connection refused: connect
-
如圖:
以下都是在網絡中找的解決方案:
解決方案1:服務是在root 賬戶下啟動的,關掉服務殺掉進程,然后用普通用戶登錄重啟服務!(對我無效,因為我的服務不可以用普通用戶啟動)
解決方案2:在Eclipse中找到Run-Debug Configurations-Remote Java Application下找到相應工程在connect的tag下設置port為8000(表示在我這里無效)
如果還不能用的話,你把Remote Java Application下的 WebViewHistory全部刪除,不新建,直接Debug運行,這樣Eclipse會自動為你創建一個默認的WebViewHistory。(不可以直接debug!親測)
解決方案3:有可能是防火牆的問題(關閉了防火牆,此問題依舊存在!)
解決方案4:因為以前都是可以的,所以百思不得其解,Google了半天,能找到的問題一般也都是因為對方沒有開啟遠程調試端口,所以自然連不上,但是我這里顯然不是這個情況。在困惑了好久以后,突然想到會不會是受到了 Eclipse 代理設置的影響?雖然覺得不太可能,因為我的理解是那個代理只是給 Eclipse 本身用的,並不是給通過 Eclipse 啟動的應用程序用的。(我這里依舊行不通)
解決方案5:這是因為Tomcat還沒有啟動,或者是沒有以Debug模式啟動。(當然我這里不存在這個問題)
解決方案6:同組其他人獨占本連接(同時只能有一個連接執行遠程調試),點擊disconnect按鈕。(我這里依舊不是這個問題)
解決方案7:有一點非常重要,先運行應用程序,然后連接它,否則Eclipse會拋出異常”Failed to connect to remote VM. Connection refused”.
提示一:在JVM DEBUG參數中,有一個參數叫”suspend”,它的取值有兩個,“y”或者“n”,如果您剛開始就想調試的話,將參數設置為”suspend=y”,這樣Eclipse會遠程連接Java應用程序。
如果你想先運行項目,然后連接Eclipse,那么可以將參數設置為”suspend=n”,這樣的話,Java應用程序會正常運行,之后Eclipse會開始遠程連接。
提示二:使用啟動腳本輸入JVM調試參數,在腳本中使用變量isDebugEnabled或者REMOTE_DEBUG_PORT,當你想遠程調試Java應用程序的時候,可以將這個變量導出。整個操作過程非常簡單,只需要一次性的安裝即可。
提示三:如果你得到錯誤提示”Failed to connect to remote VM. Connection refused”或者”Connection refused: connect”,那么可能出現的原因有兩種可能。第一是您的Java項目沒有運行在遠程主機上,第二是輸入端口和主機名有誤,驗證成功后,可以填寫完整的主機名。
提示四:您也要確保本地Eclipse和遠程Eclipse運行的是相同的代碼庫。使用調試選項”-g”可以編譯代碼,Eclipse可以輕松搜集調試信息,比如本地變量的調試信息,默認情況下,使用調試選項“-g”,類文件可能更大些調試信息。(依舊沒有解決我這里的問題)解決方案8:找到tomcat/bin/catalina.bat文件,編輯,在CATALINA_OPTS之前加上下行代碼
set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=50001【用來調試的端口號】
保存,重啟Tomcat(我這邊這個也沒能解決我的問題)
解決方案9:原因最可能就是 Eclipse 中的 ip地址配置錯誤(就是這個原因,復制IP地址復制錯了,我也是。。。。)
解決方案10:
估計是網絡不穩定,最終還是調試成功了。(這個嗎。。。。。)解決方案11:防火牆的問題。把360里面的網頁防火牆關掉就好用了。我每次都重新裝。這次終於找到原因了。(關閉了360,依舊沒有解決問題)
結論:以后一定要看清楚最基本的配置,然后一步一步確定自己的結論是否正確,其實,IP地址寫錯,這個問題應該是第一個就排除的原因,而我卻因為某種原因,沒有進行檢查,以至於浪費了一天的時間!
版權聲明:本文為博主原創文章,未經博主允許不得轉載。