2015-10-09 2 views
8

Eclipse IDEにGradleプロジェクトがあり、通常はJavaアプリケーションを実行するためにオプションgradle runを使用します。"gradle run"を実行してJavaプログラムをデバッグ

Javaコードにエラーがあり、デバッグしたいのですが、gradle runを実行すると、デバッガはブレークポイントで停止しません。 「デバッグ」メニューでは、gradle debugのようなものはありません。

アプリケーションをデバッグするにはどうすればよいですか?次の手順に従い日食でGradleのプロジェクトをデバッグするには

+2

をデバッグする方法ですが、あなたは 'Gradleの実行--debug-jvm'を試してみました? – frhd

+0

私はそれを試してみたいが、Eclipse IDEを使ってデバッグしたかった –

+0

https://discuss.gradle.org/t/how-do-you-attach-a-debugger-to-gradle-soに関する議論がある - それは私ができる - デバッグ - それを実行する - タスク/ 7526どのようにEclipseのデバッグを使用してgraleタスク。 – frhd

答えて

13

STEP1
build.gradleファイルにこれらを入れて:のルートから

tasks.withType(JavaExec) { 
    if (System.getProperty('DEBUG', 'false') == 'true') { 
     jvmArgs '-Xdebug', '-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=9099' 
    } 
} 

STEP2あなたのプロジェクトは:

gradle -DDEBUG=true run 

今コンソールにあなたはこのようなものが表示されます:

Listening for transport dt_socket at address: 9099 

STEP3

今すぐあなたのコードで日食にブレークポイントを設定します。

STEP4

1. project (this should be set to name of your eclipse project) 
2. host (here its localhost) 
3. port (in this example it will be 9099) 

をクリックし、 "デバッグ":これらのフィールドを設定し、デバッグ設定]> [リモートJavaアプリケーション >としてプロジェクト>デバッグを右クリック日食から今

。あなたのプログラムは、eclipseでブレークポイントに当たるたびに停止します。サンプルプロジェクトでこれらの手順の詳細を確認する

は、ここで詳細を参照:受け入れ答えは動作するはず

https://github.com/ayonious/gradle-tutorial/tree/master/remote-debugging1 
+1

あなたの手順を試してみると、リモートアプリケーションのデバッグ構成を設定すると、リモートVMに接続できませんでしたというエラーメッセージが表示されます。接続拒否。 私はgraleからキュウリテストを実行し、Javaコードのブレークポイントで停止するタスクを実行しようとしています。任意のヒント? – themathmagician

+0

ちょっと@themathmagician、私はキュウリのテストを使用haventしかし、ユニットテストのいくつかの種類の場合は、単位テストのためのこの例題を少し落ちる機能を変更する必要があります:https://github.com/ayonious/gradle-tutorial/tree/master/remote-debugging2 –

+3

これは私にとってはうまくいったが、 'debug_socket'を' dt_socket'に変更する必要がありました。 – Jerinaw

6

にもかかわらず、あなたは、はるかに簡単な方法でそれを達成することができます。


  1. だけgradle run --debug-jvmを実行します。これにより、リモートデバッグモードでアプリケーションが起動され、任意のリモートデバッガ(例:Eclipse、ポート5005)に接続できます。

  2. EclipseをIDEとして使用すると仮定します。Eclipseで、「プロジェクト」 - >「デバッグ」 - >「デバッグ構成」 - >「リモートJavaアプリケーション」に進みます。ホストとしてlocalhostをポート5005として設定すると、自由に移動できます。テストの詳細についてsee the official Gradle Java plugin docについては


[...]は、起動時に--debug-jvmタスクオプション(Gradle 1.12以降)で有効にすることもできます。

+1

これは動作しますが、受け入れられた答えではありません。 1つは実際に動作するものです。 –

0

あなたは春ブーツの上に構築されたWebアプリケーションをデバッグするための答えを探している場合 - のGradleを...そしてこれは私が

Step 1: build gradle peoject 
> gradle build 

Step 2: From command prompt 
> C:\my jar or war file is in this folder>java -Xdebug -agentlib:jdwp=transport=dt_socket,address=9999,server=y,suspend=y -jar myJarOrWarApplication-1.0.0.war 

Step 3: Go to eclipse --> right click on your project --> Debug as --> Debug configurations --> Remote Java Application --> Create new configuration --> change port to 9999 -->hit Debug button 

Step 4: Place debug points in your code in eclipse. 
Step 5: Call your application. 
関連する問題