回答:
私が持っているこの記事は Java 5のため、以下、このアップの設定のブックマーク。
基本的にそれを実行します:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044
以下のためのJava 5との上に、とそれを実行します。
-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=1044
Java 5.0より前では-Xdebug
、-Xrunjdwp
引数をください。これらのオプションはそれ以降のバージョンでも機能しますが、JITの代わりにインタープリターモードで実行されるため、速度が低下します。
Java 5.0からは、次の-agentlib:jdwp
1つのオプションを使用することをお勧めします。
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1044
オプション-Xrunjdwp
またはagentlib:jdwp
引数は次のとおりです。
transport=dt_socket
:は、JVMへの接続に使用される方法を意味します(ソケットは良い選択です。離れたコンピューターのデバッグに使用できます)address=8000
:デバッガーから接続するために公開されたTCP / IPポート、 suspend=y
: 'y'の場合、デバッガが接続されて実行を開始するまで待機するようにJVMに指示します。それ以外の場合( 'n'の場合)は、すぐに実行を開始します。Xrunjdwp
、非推奨(または削除?)なぜ我々は選ぶだろうagentlib:jdwp
その上に?
-Xdebug -Xrunjdwp
Mavenプロジェクトのデバッグ時に使用し、JITされているように実行されます。
Java 9.0以降、JDWPはデフォルトでローカル接続のみをサポートしています。 http://www.oracle.com/technetwork/java/javase/9-notes-3745703.html#JDK-8041435
リモートデバッグの場合*:
、アドレスでプログラムを実行する必要があります:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8000
Java 1.5以降の場合:
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 <YourAppName>
Java 1.4の場合:
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 <YourAppName>
Java 1.3の場合:
java -Xnoagent -Djava.compiler=NONE -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 <YourAppName>
以下は簡単なプログラムからの出力です:
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044 HelloWhirled
Listening for transport dt_socket at address: 1044
Hello whirled
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8001,suspend=y -jar target/cxf-boot-simple-0.0.1-SNAPSHOT.jar
address
デバッグを許可するポートを指定します
** MavenでSpring Bootアプリをデバッグします。
mvn spring-boot:run -Drun.jvmArguments=**"-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8001"
-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=PORT_NUMBER
ここでは、Socket Attaching Connectorを使用しています。これは、dt_socketトランスポートが構成され、VMがサーバーデバッグモードで実行されているときにデフォルトで有効になります。
詳細については、次を参照してください:https : //stackify.com/java-remote-debugging/
*:1044
任意のコンピューターからリモートデバッグを有効にするようにアドレスを構成したい場合があることです