2014-01-14 18 views
138

Intellij-IDEAデバッガを実行中のJavaプロセスに接続することはできますか?Intellij-IDEAデバッガを実行中のJavaプロセスに接続する

+2

を「ポート」を指定します。 「リモート」実行/デバッグ構成を作成する必要があります。 More [here](http://www.jetbrains.com/idea/webhelp/run-debug-configuration-remote.html) – Vic

+2

ええと、これらのコマンドライン引数は、14.0.2以降のREAD ONLYです。それらのうちの2つだけを編集することはできますが、この問題の解決には役立ちません。どのようにこれを修正するための任意のアイデア? – Nuzzolilo

答えて

235

はい!ここでそれを設定する方法があります。

実行構成

リモート実行構成を作成します。

  1. ファイル名を指定して実行] - > [編集設定...
  2. "リモート" を選択し
  3. 左上の "+" をクリックしますオプションを指定してください
  4. 名前を選択してください(私は「リモートデバッグ」と名付けました)
  5. 「OK」をクリックして保存します。

enter image description here

JVMオプション

構成は、上記の3つの読み取り専用フィールドを提供します。これらは、アプリケーションの実行時にリモートデバッグ用にポート5005を開くようにJVMに指示するオプションです。デバッグしているアプリケーションのJVMオプションに適切なものを追加します。これを行う方法の1つは、次のようになります。

export JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005" 

しかし、アプリケーションをどのように実行するかによって異なります。 3つのうちどれが当てはまるのかわからない場合は、最初のものから始めて、動作するものが見つかるまでリストを降りてください。

suspend=nsuspend=yに変更すると、アプリケーションが起動する前にIntelliJに接続するまでアプリケーションを強制的に待機させることができます。これは、起動するブレークポイントがアプリケーションの起動時に発生する場合に役立ちます。

デバッグ

は、通常どおりに、アプリケーションを起動し、その後のIntelliJで新しい設定を選択し、「デバッグ」をヒット

enter image description here

のIntelliJは、JVMに接続し、リモートデバッグを開始します。

必要に応じてコードにブレークポイントを追加することで、アプリケーションをデバッグできるようになりました。アプリケーションの出力は以前と同じように表示されますが、ブレークポイントはIntelliJでヒットします。

+2

「リモート」オプションは、mac os el capitanのIntellij IDEA 15.0.2にはありません。どのように私はそのオプションを得ることができますか? – user674669

+0

@ user674669わかりません。おそらく 'リモート'はコミュニティ版で利用できないでしょうか?私は有料版を使用しています。コミュニティ版の誰でも確認できますか? –

+0

@CoryKleinリモートデバッグ時にIntelliJの 'System.out.println'の出力を取得する方法を知っていますか? –

34

アプリケーションを起動するときにJVMフラグを追加する必要があります。

リモートデバッグ設定を追加する必要があります:設定を編集 - >リモート。その後

のように、あなたがプログラムの実行に追加する必要が表示されたダイアログウィンドウのparametrsで見つけるyou'lll:あなたのアプリケーションが起動されたとき、あなたはあなたのデバッガをアタッチすることができます

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

。デバッガが接続されるまでアプリケーションを待機させたい場合は、サスペンドフラグをyに変更する(suspend=y

+0

私は以下の入力を編集して、上記のオプション文字列を更新することを私に混乱させました(少なくとも13.1 CEで)。 –

+6

ええと、これらのコマンドライン引数は14.0.2時点ではREAD ONLYです。それらの2つを編集することができます。どのようにこれを修正するための任意のアイデア? – Nuzzolilo

+1

また、これらのオプションを設定することによってどのプロセスに接続していますか? – Nuzzolilo

4

明らかに、デバッグモードで接続する場合は、アプリケーションJAVA_OPTSに "-Xdebug"フラグを追加する必要があります。

3

AndroidStudioやアイデア

  1. Configでアプリケーションが

    enter image description here

    を "アドレス" を覚えているコンフィグ “-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005” を "VMオプション" を追加し、デバッグ、オープン編集構成

になります

  1. コンフィグリモートデバッガ ない場合は終了し、

を追加するには、+クリックしてステップ1「アドレス」と同じもちろん enter image description here

関連する問題