FaqDebuggingRemoteJa

実行中のアプリケーションに NetBeans デバッガを接続するにはどうしたらいいですか?

アプリケーションにデバッガを接続できるためには、JVM はデバッグモードで実行されていなければなりません。また、アプリケーションは javac に -g オプションを指定してコンパイルされているべきです。

必要なオプション

必要なオプションは二つあり、別な JVMが接続しデバッグできるように、Java プログラムに渡されなければなりません。

-Xdebug
-Xrunjdwp:<JDWP sub-options>

ここで、JDWP sub-options はコンマで分離された属性です。例:

-Xrunjdwp:transport=dt_socket,server=y,address=8888,suspend=n
  • transport はデバッガとデバッグされる仮想機械の間の通信方法です。
  • address 接続を確立するとき、接続の終端点を識別するためにトランスポートアドレスが使われます。
  • server server 属性が 'y' であれば、アプリケーションはデバッガの接続を待機します。さもなければ、指定されたアドレスのデバッガに接続します。
  • suspend suspend が 'n' であれば、アプリケーションは即座に開始し、デバッガが接続するのを待ちません。'y' であれば、あなたが接続するまで、アプリケーションは中断します。

オプションの完全な文書は JPDA Connection and Invocation Details 文書に記述されています。

古い JDK (JDK 5 より前) を使用する場合、-Xnoagent -Djava.compiler=NONE も渡す必要があるかもしれません。

dt_socket トランスポートを使用するとき、address 属性はポート番号を指定します。 MS Windows では、アプリケーションとデバッガが同じコンピュータ上で実行している場合は、dt_shmem トランスポートはより早い共有メモリ通信用に使えます。address は共有メモリ領域の名前を指定します。

NetBeans からアプリケーションに接続

  1. メインメニューから 実行 > デバッガを接続... を選びます。
    (ダイアログが現れます)
  2. コンボボックスで JPDA Debugger が確実に選択されているようにします。
  3. 適切な接続の種類を選びます (transport サブオプションの値にあうように)。
  4. 他のオプションの値を入力します:
  • " dt_socket " トランスポートを使用する場合:
    Host フィールドにデバッグされるアプリケーションが実行されるコンピュータのホスト名を入力します (同じコンピュータ上ならば "localhost" も可)。
    Port フィールドに選択されたポート番号を入力します。
  • " dt_shmem " トランスポートを使用する場合 (MS Windows のみ):
    共有メモリ名を入力します (例 "myapp")。
  1. 了解 ボタンを押します

  バージョン: NetBeans 5.0, 5.5
  プラットフォーム: すべて

---

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo