web-dev-qa-db-ja.com

IntelliJを介してデバッガーポートを開けない

DigitalOceanで実行しているサーバーと、デバッグしたいJARファイルがあります。私は最初にリモートサーバーでJARを起動します

Java -jar Server.jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

しかし、コンソールには「listen on port 5005 ...」のような出力は表示されません。

IntelliJでデバッグを押すと、

デバッガーポート(198.xxx.xxx.xx:5005)を開けません:Java.net.ConnectException "Connection refused"

これは私のIntelliJ構成です:
enter image description here

-Xdebugを使用してみましたが、まだ機能しませんでした。

suspend=yを設定すると、デバッガが接続されるまで待機する必要がありますが、代わりに問題なく起動します。

10
Leonardo

リモートJavaデバッグモードでプロセスを開始するコマンドは正しいようです。サーバーJARを開始するときに「Listing to Port blah」が表示されない場合は、デバッグ引数これをすばやく確認する別の方法は、telnet localhost 5005サーバーJARが実行されているマシン上。そのポートが使用されていない場合、telnetは失敗します。

パラメーターの順序が重要になる可能性があるため、次のことを試してみることをお勧めします(これについては、いくつかの公式証拠を後で追加します)。

Java "agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005" -jar Server.jar
11
Ashutosh Jindal

このコマンドは私のために働いた:

Java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar Server.jar 
2

このコマンドは私のために働いた:

export Java_OPTS='-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:5505'

デフォルトでは、アイデアのリモートダイアログは以下を提案します:

'agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005'

次のように変更します。

'agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:5005'

ポート5005を発行します。

1
suifengpiao14

私の場合は、設定->ビルド、実行、展開->デバッガーで、何らかの理由でデバッガーを接続しようとしているのと同じポートで実行されている組み込みサーバーがあったためです。

0
jacob