JDeveloperでは、コマンドラインを使用した、GUIアプリケーションのリモート・デバッグをサポートしています。これを行うには、デバッグするプログラム(デバッグ対象プロセス)を手動で開始する必要があります。デバッグ対象プロセスが開始し、JDeveloperのデバッガがプロセスにアタッチされた後は、リモート・デバッグとローカル・デバッグの動作はよく似ています。
UIのリモート・デバッグの実行方法は、アプリケーションのリモート・デバッグと類似しています。ただし、次の前提条件を満たしておく必要があります。
jdev-rt.jar
をライブラリに追加
GUIアプリケーションをリモート・デバッグするには、次のようにします。
デバッグ用にプロジェクトを設定します。その際、プロジェクトをリモート・デバッグに対して有効にします。
次を実行して、アプリケーションを手動で起動します。
java -ojvm -XXdebug -cp ...\jdev\lib\jdev-rt.jar
oracle.jdevimpl.runner.uidebug.debuggee.Debuggee <MainClass>
ここで
...\jdev\lib\jdev-rt.jar
は、JDeveloperランタイム・ライブラリのクラスパスで、コマンドに追加する必要があります。
oracle.jdevimpl.runner.uidebug.debuggee.Debuggee
は、UIデバッガのエージェントのメイン・クラス名です。
コマンド・ウィンドウに、次のようなメッセージが表示されます。
*** Port is 4000 ***
*** Waiting for OJVM debugger connection. ***
UIデバッガでは、アプリケーションとの対話にソケットが使用されます。ソケットのデフォルト・ポート番号は4030
ですが、次のようにアプリケーションのメイン・クラスの前に-uidport,<port>
を挿入して、別のポート番号を指定できます。
java -ojvm -XXdebug -cp ...\jdev\lib\jdev-rt.jar
oracle.jdevimpl.runner.uidebug.debuggee.Debuggee -uidport,5678 mypackage1.Application1
この場合、JDeveloper IDEでUIデバッガを起動する際にも、このポート番号を指定する必要があります。
UIのローカル・デバッグと同様に、「実行」アイコン()か、「実行」->「UIデバッグ<プロジェクト名>.jpr」を選択して、UIデバッガのプロジェクトを実行します。
Javaアプリケーションのメイン・メソッドが起動します。
「OJVM/JPDAにアタッチ」ダイアログが表示され、ホスト名およびUIデバッガのポートを指定するように求められます。
-uidport
オプションを使用しなかった場合は、この値をデフォルトの4030
のままにしておきます。
ここからは、UIデバッグのセッションが、UIのローカル・デバッグ実行時と同じように動作します。
任意のUIデバッガの機能の実行を開始できます。
Copyright © 1997, 2004, Oracle. All rights reserved.