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. ***
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デバッガを起動する際にも、このポート番号を指定する必要があります。
-uidport
オプションを使用しなかった場合は、この値をデフォルトの4030
のままにしておきます。