このトピックでは、Oracle9iAS 1.0.2.xまたはJServインスタンスがあるApacheに対してリモート・デバッグを実行するために、リモートのデバッグ対象を設定する方法について説明します。これらのステップが完了した後、JSP、サーブレットおよびEJBに対してリモート・デバッグを実行できるようになります。
リモート・デバッグを行うためにOracle9iASまたはApache JServを設定するには、次のようにします。
jserv.conf
ファイルを開きます。$ORACLE_HOME/Apache/Jserv/etc/
ApJServAction .jsp /servlets/oracle.jsp.runtimev2.JspServlet
jserv.properties
ファイルを開きます。$ORACLE_HOME/Apache/Jserv/etc/
wrapper.bin=<JDEV_HOME>¥jdk¥bin¥java
$JDK_HOME/bin/java
OJVMは、Windowsプラットフォームでのみ使用できます。wrapper.bin.parameters
を使用して、デバッグのためにJVMに渡されるパラメータを設定します。wrapper.bin.parameters=-ojvm
wrapper.bin.parameters=-XXdebug,detached,port5000,quiet
次はその例です。
XXdebug,detached,quiet,port4000
-XXdebug
パラメータ・オプションは、次のとおりです。
デバッグで使用するために設定します。
Javaプログラムを即座に開始し、デバッガがいつでも接続できるようにします。このオプションを使用しない場合、デバッガが接続されるまでJavaプログラムは停止したままです。
デバッガを指定のポートに接続する必要があります。このオプションを使用しない場合、デフォルトのポートは4000です。
接続メッセージは出力されません。このオプションを使用しない場合、接続メッセージは標準エラーに送信されます。
(Windows NT、J2SE 1.3以降、JDK 1.22またはSolaris上のJDK 1.2.2_007 Referenceでのみ使用できます。)次のようにwrapper.bin.parameters
を使用して、デバッグのためにJVMに渡されるパラメータを設定します。
wrapper.bin.parameters=-classic
wrapper.bin.parameters=-Xdebug
wrapper.bin.parameters=-Xnoagent
wrapper.bin.parameters=-Djava.compiler=NONE
wrapper.bin.parameters=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4000
-Xdebug
パラメータ・オプションは、次のとおりです。
デバッグを有効にします。
デフォルトのsun.tools.debugデバッグ・エージェントを無効にします。
Just In Time(JIT)コンパイラを無効にします。
JDWPのJPDAリファレンス実装をロードします。このライブラリは、ターゲット仮想マシンに常駐し、JVMDIおよびJNIによりこのマシンと対話します。個々のデバッガ・アプリケーションとの通信には、トランスポートおよびJDWPプロトコルを使用します。
このサブオプションにより、デバッガとの通信時のトランスポート・メカニズムとしてソケットを指定します。
このサブオプションにより、デバッグ対象がアタッチするデバッガをリスニングするよう指定します。
このサブオプションにより、ターゲットVMが一時停止しなくても、デバッガがいつでもアタッチできるよう指定します。
このサブオプションにより、デバッガとの通信時に使用されるソケットのポート番号を指定します。別のポート番号を指定することもできますが、後でデバッガに入力するポートと一致させる必要があります。
JPDAのClassicデバッグ用としてJDK 1.2.2を使用している場合、次のようにパスをwrapper.path
に含める必要があります。
wrapper.path=<ORACLE_HOME>/jpda-1.0/bin/
OJVMデバッグまたはJ2SE 1.3以降の場合、これは必要ありません。Solaris上でJDK 1.2.2を使用している場合、1.2.2_007リファレンス・バージョンを使用する必要があります。本番バージョンの場合、リモート・デバッグは実行されません。
wrapper.bin.parameters
を使用してデバッグのためJVMに渡されるパラメータを設定します。
wrapper.bin.parameters=-hotspot
wrapper.bin.parameters=-Xdebug
wrapper.bin.parameters=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4000
wrapper.bin.parameters=-server
wrapper.bin.parameters=-Xdebug
wrapper.bin.parameters=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4000
デバッグを有効にします。
JDWPのJPDAリファレンス実装をロードします。このライブラリは、ターゲット仮想マシンに常駐し、JVMDIおよびJNIによりこのマシンと対話します。個々のデバッガ・アプリケーションとの通信には、トランスポートおよびJDWPプロトコルを使用します。
このサブオプションにより、デバッガとの通信時のトランスポート・メカニズムとしてソケットを指定します。
このサブオプションにより、デバッグ対象がアタッチするデバッガをリスニングするよう指定します。
このサブオプションにより、ターゲットVMが一時停止しなくても、デバッガがいつでもアタッチできるよう指定します。
このサブオプションにより、デバッガとの通信時に使用されるソケットのポート番号を指定します。別のポート番号を指定することもできますが、後でデバッガに入力するポートと一致させる必要があります。
jserv.properties
ファイルで、次の行を追加、または行が存在するかどうかを確認します。 wrapper.classpath=d:¥apache¥JServ¥ApacheJServ.jar
wrapper.classpath=<JDEV_HOME>¥lib¥servlet.jar
# Needed for JSP
wrapper.classpath=<JDEV_HOME>¥j2ee¥home¥lib¥ojsp.jar
wrapper.classpath=<ORACLE_HOME>¥lib¥ojc.jar
wrapper.classpath=<JDEV_HOME>¥lib¥xmlparserv2.jar
# optional, for JML tags, SQL tags, and database-access JavaBeans
wrapper.classpath=<JDEV_HOME>¥j2ee¥home¥lib¥ojsputil.jar
# Needed if JDBC connection being used in JSP or Servlet
wrapper.classpath=<JDEV_HOME>¥jdbc¥lib817¥classes12.zip
# Needed if SQLJ being used JSP or Servlet
wrapper.classpath=<JDEV_HOME>¥sqlj¥lib¥translator.jar
wrapper.classpath=<JDEV_HOME>¥sqlj¥lib817¥runtime.zip
www.javasoft.com/products/servlet/download.html#specs
を参照してください。
# Needed for servlets.
# Note: jsdk.jar must preceed servlet.jar
# jsdk provides servlet 2.0 APIs required by Apache/JServ
# servlet. jar provides servlet 2.2 APIs
wrapper.classpath=<jsdk_home>¥jsdk2.0¥lib¥jsdk.jar
zone.properties
を編集します。<Oracle_home>
/Apache/Jserv/servlets/
repositories=<Apache_Home>¥JServ¥servlets
repositories=<Apache_Home>¥JServ¥servlets¥shopcart.jar
<APACHE_Home>¥JServ¥servlets
Servlet Init
パラメータ・セクション(ファイルの最後近く)を検索し、次の行を追加します。 servlet.oracle.jsp.JspServlet.initArgs=debug_mode=true
servlet.oracle.jsp.JspServlet.initArgs=developer_mode=true
servlet.oracle.jsp.JspServlet.initArgs=encode_to_java=true
servlet.oracle.jsp.JspServlet.initArgs=emit_debuginfo=true
servlet.oracle.jsp.JspServlet.initArgs=jspjavacompiler=oracle.jdevimpl.jsp.JspOjcCompiler
これで、ウィザードを使用してリモート・デバッグ・プロジェクトを作成できます。
リモート・デバッグについて
リモートJavaアプリケーションのデバッグ
Copyright © 1997, 2007, Oracle. All rights reserved.