Javaプログラムのリモート・デバッグについて

JDeveloper IDEを使用し、ローカルでコードをデバッグする他にも、リモート・マシンにあるコードや別のVMインスタンスで実行中のコードをデバッグできます。つまり、デバッガを使用して、デプロイ済のコードをデバッグすることが可能です。デバッガは、同時に複数のリモートVMにアタッチできるため、WebサーバーにデプロイされたJSPがアプリケーション・サーバーにデプロイされたEJBにアクセスするような分散アプリケーションを、シームレスにデバッグできます。

リモート・デバッグとローカル・デバッグの大きな違いは、デバッグ・セッションの開始方法にあります。ローカル・デバッグの場合、JDeveloperによってデバッグするプログラムが自動的に起動し(デバッグ対象プロセス)、デバッガがそのプログラムにアタッチされます。リモート・デバッグの場合、デバッグするプログラムを手動で起動する必要があります。また、JSPまたはサーブレットをデバッグしている場合は、JSPまたはサーブレットを起動するためのブラウザを手動で起動する必要があります。

デバッグ対象プロセスが開始し、JDeveloperのデバッガがプロセスにアタッチされた後は、リモート・デバッグとローカル・デバッグの動作はよく似ています。デバッグ対象プロセスがJDeveloperと同じマシンで動作している場合も、別のマシンで動作している場合も、リモート・デバッグを使用できます。

ローカル・デバッグとは異なり、リモート・デバッグ・セッションを開始する前に、使用するプロトコルを選択する必要があります。リモート・デバッグ・プロトコルは、「プロジェクト」->「プロジェクトの設定」->「デバッガ」->「リモート」で設定します。次のオプションから選択できます。

OJVMにアタッチ
OJVMはデフォルトのデバッグ・プロトコルで、JDeveloperで使用できる最速のデバッガです。OJVMは、Windowsプラットフォームでのみ使用できます。
JPDAにアタッチ
「JPDAにアタッチ」は、OJVM以外のJVMを使用している場合に使用します。たとえば、Sun社のClassic JVMまたはHotSpot JVMを使用している場合です。Sun社のJava Platform Debugger Architecture(JPDA)接続および起動の詳細は、http://java.sun.com/j2se/1.3/ja/docs/ja/guide/jpda/conninv.htmlを参照してください。
JPDAのリスニング
Sun社のJava Platform Debugger Architecture(JPDA)を使用し、デバッガでリスニングして、デバッグ対象プロセスがデバッガにアタッチできるようにする場合に選択します。また、PL/SQLプログラムをリモートでデバッグする場合も、このオプションを選択します。

次のアプリケーション・サーバーでのサーブレット、JSPおよびEJBのリモート・デバッグ手順について説明があります。


プロジェクトをデバッグ用に設定
JDeveloperでのデバッグ
Javaプログラムのデバッグ