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 からアプリケーションに接続
- メインメニューから 実行 > デバッガを接続... を選びます。
(ダイアログが現れます) - コンボボックスで JPDA Debugger が確実に選択されているようにします。
- 適切な接続の種類を選びます (transport サブオプションの値にあうように)。
- 他のオプションの値を入力します:
- " dt_socket " トランスポートを使用する場合:
Host フィールドにデバッグされるアプリケーションが実行されるコンピュータのホスト名を入力します (同じコンピュータ上ならば "localhost" も可)。
Port フィールドに選択されたポート番号を入力します。 - " dt_shmem " トランスポートを使用する場合 (MS Windows のみ):
共有メモリ名を入力します (例 "myapp")。
- " dt_socket " トランスポートを使用する場合:
- 了解 ボタンを押します
バージョン: NetBeans 5.0, 5.5
プラットフォーム: すべて
---
- 英文 (翻訳したバージョン: 4)
- 日本語 NetBeans ユーザー FAQ へ戻る
