我試圖將我的最佳調試器連接到遠程Glassfish實例(通過遠程我指的不是在同一臺物理機器上運行,而不是在同一臺虛擬機上運行)。無法使用任何調試器連接到Glassfish
我的GlassFish域配置具有「調試」標誌檢查,並server.log的報告啓動
-Xdebug
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9009
這表明(在我看來)期間,調試確實有效。
但是,當我嘗試連接調試器時,它失敗。以下會話是一個示例(使用PuTTy完成):
$ jdb -connect com.sun.jdi.SocketAttach:port=9009
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:385)
at java.net.Socket.connect(Socket.java:529)
at com.sun.tools.jdi.SocketTransportService.attach(SocketTransportService.java:204)
at com.sun.tools.jdi.GenericAttachingConnector.attach(GenericAttachingConnector.java:98)
at com.sun.tools.jdi.SocketAttachingConnector.attach(SocketAttachingConnector.java:72)
at com.sun.tools.example.debug.tty.VMConnection.attachTarget(VMConnection.java:358)
at com.sun.tools.example.debug.tty.VMConnection.open(VMConnection.java:168)
at com.sun.tools.example.debug.tty.Env.init(Env.java:64)
at com.sun.tools.example.debug.tty.TTY.main(TTY.java:1010)
Fatal error:
Unable to attach to target VM.
什麼可能導致該行爲?
編輯
聲明本JDB命令行被賦予了作爲example of Glassfish debug testing on the web,這是爲什麼我用它
還要注意,我在本地做這個JDB調試會話(這時候說使用PuTTy連接到該機器,因此在Glassifh機器上運行時調用jdb)。
你可以運行'ps -ef | grep java'作爲快速的完整性檢查,glassfish以您的jvm參數開頭。也是該端口狀態的netstat? – nsfyn55
當你說'通過運行我的意思是沒有運行'你的意思是'通過REMOTE我的意思是不運行'? – vkraemer
@vkraemer的確。我相應地改變了這個問題。 – Riduidel