2013-01-11 73 views
1

如果帶參數運行-Xdebug -agentlib:jdwp=transport=dt_socket,suspend=n,server=y,address=9000一個java進程,該進程停止端口監聽,一旦調試器附加到它。然後,一旦調試器分離,您將無法再次連接到它。一旦調試器被分離,有沒有辦法連接它?或者是否有一個jdwp代理服務器始終連接到進程並允許調試器隨意連接和分離?分離後,您可以將調試器附加到Java進程嗎?

+1

我這樣做是與JBoss和Eclipse調試器的時候,我可以重新連接就好了。我不知道爲什麼一旦分離就不可能重新連接。你還有其他一些事情要補充,可能會對此產生影響嗎? – eis

+0

哦,你說得對。我沒有意識到,在調試器分離之後,java會嘗試再次綁定到端口。如果有在該端口是另一個進程已,它只是記錄一個錯誤'錯誤:傳輸錯誤202:綁定失敗:地址已在use' – yonran

+0

我需要重新啓動我的所有進程,使他們可調試的方式(我目前搜索對於將端口分配給jdwp之前的未使用端口爲9000以上,如果端口已分配但該進程當前已連接到調試器,則重新使用該端口)。 – yonran

回答

1

簡短的回答是肯定的,你應該能夠只是重新安裝。這樣做應該沒有問題。如果多個應用程序在分離/連接期間嘗試綁定到同一個端口,可能會出現競爭情況,但我沒有看到任何其他可能的問題。

相關問題