3

リモート Java アプリケーション デバッグで jar ファイルをデバッグしようとしています。「リモート VM への接続に失敗しました。接続拒否。' エラーに続くのはスタックトレースです..

java.net.ConnectException: 接続が拒否されました: java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java: 339) java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200) で java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182) で java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157) でnet.SocksSocketImpl.connect(SocksSocketImpl.java:391) で java.net.Socket.connect(Socket.java:579) で java.net.Socket.connect(Socket.java:528) で java.net.Socket.( org.eclipse.jdi.internal.connect.SocketTransportService$2 の java.net.Socket.(Socket.java:208) の Socket.java:425)。java.lang.Thread.run(Thread.java:722) で実行 (SocketTransportService.java:136)

4

5 に答える 5

3

接続しようとしている JVM でデバッグを有効にしたことを覚えていますか? これは、リモート JVM を実行するときに JAVA_OPTS を介して行われます。

たとえば、Tomcat にデバッグを追加するには、Java プロセスの起動時に次の JAVA_OPTS を追加します。

-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
于 2012-06-14T05:30:00.230 に答える
0

これがどれほど普遍的かはわかりませんが...
(「tahoeServer」という名前のラズベリーパイでopenjdk 14 + 36を実行しています)

使用するインターフェースを JVM に指示する必要があります。ただ言うなら

-agentlib:jdwp=transport=dt_socket,server=y,address=4445

その場合、JVM は「localhost」インターフェースでリッスンし、真のリモート デバッグを許可しません。ただし、言うなら

-agentlib:jdwp=transport=dt_socket,server=y,address=tahoeServer.local:4445

リモートマシンからの接続を許可します。

繰り返しますが、これが JVM の他のバージョンや他のオペレーティング システムに当てはまるかどうかはわかりません。

于 2021-03-25T16:39:09.997 に答える