前へ     目次     索引     DocHome     次へ     
iPlanet Web Server, Enterprise Edition サーブレットに関するプログラマーズガイド



第 5 章   サーブレットおよび JSP のデバッグ


この章では、iPlanet Web Server 6.0 でサーブレットおよび JSP のデバッグを行うガイドラインを紹介します。以下の節で構成されています。

サーブレットおよび JSP のデバッグには、この章で説明されているように、jvm12.conf ファイルの編集が必要です。このファイルに関する一般的な情報については、付録 C「JVM の構成」を参照してください。



サーブレットのデバッグ



サーバで JDK を使用するよう指示している場合は、サーブレットのリモートデバッグを行うことができます。サーバが JRE を使用している場合は、JDK を使用するように切り替えてからリモートデバッグを行います。JDK または JRE の使用をサーバに命令する方法の詳細は、「JRE/JDK パスの構成」 を参照してください。

サーバが JDK を使用していると仮定すると、以下の手順でリモートデバッグを行うことができます。

  1. サーバが単一処理モードで稼動していることを確認します。単一処理モードはデフォルト設定ですが、magnus.conf ファイルで MaxProcs パラメータに 1 より大きい値が設定されていないことを確認します。magnus.confMaxProcs が設定されていない場合、デフォルト値の 1 が使用されます。単一処理モードと多重処理モードの詳細は、iPlanet Web Server の『管理者ガイド』を参照してください。

  2. jvm12.conf で以下のパラメータを適宜設定します。

    jvm.enableDebug=1
    java.compiler=NONE

  3. 例外をログファイルとクライアントに送信するには、以下のパラメータを設定します。クライアントがブラウザの場合、例外はブラウザに表示されます。

    jvm.trace=7

  4. プラットフォームによっては、起動クラスパスを指定する必要があります。たとえば、Solaris プラットフォームでは、Java 1.2 が /java にある場合、jvm12.conf で以下のように設定します。

    jvm.option=-Xbootclasspath:/java/lib/tools.jar:/java/jre/lib/rt.jar

  5. サーバを手動で起動し、コンソールに表示されるリモートデバッグのパスワードを記録します。

  6. Java デバッガを起動します。

    jdb -host your_host -password the_password

これで、jdb コマンドを使用して Java クラスのデバッグを行えます。



JSP のデバッグ



以下の手順に従って JSP のデバッグを行います。

  1. サーバが単一処理モードで稼動していることを確認します。単一処理モードはデフォルト設定ですが、magnus.conf ファイルで MaxProcs パラメータが 1 より大きい値に設定されていないことを確認します。magnus.confMaxProcs が設定されていない場合、デフォルト値の 1 が使用されます。単一処理モードと多重処理モードの詳細は、iPlanet Web Server の『管理者ガイド』を参照してください。

  2. jvm12.conf で以下のパラメータを適宜設定します。

    java.compiler=NONE
    jvm.trace=6
    nes.jsp.enabledebug=1

  3. 例外をログファイルとクライアントに送信するには、以下のパラメータを設定します。クライアントがブラウザの場合、例外はブラウザに表示されます。

    jvm.trace=7

java.compiler=NONE に設定すると、ログファイルの詳細出力に Java ソースコードの行番号が追加されます。jvm.trace=6 または jvm.trace=7 に設定すると、JSP コンパイラおよびサーブレットエンジンから詳細出力が行えます。nes.jsp.enabledebug=1 に設定すると、iPlanet Web Server 6.0 では、デバッグ可能な Java サーブレットを JSP から生成します。



デバッグ用のスタックトレースの生成



以下の手順に従ってデバッグ用の Java スタックトレースを生成できます。

http://developer.java.sun.com/developer/technicalArticles/Programming/Stacktrace/

シグナル使用率の削減のために jvm12.conf ファイルの jvm.option=-Xrs フラグをコメントにしてから、スタックトレースを生成します。-Xrs フラグが使用されていると、トレースの生成のためにシグナルを送信したときに、サーバがコアダンプして再起動する可能性があります。

jvm12.conf ファイル、および jvm.option の使用の詳細は、付録 C「JVM の構成」 を参照してください。



Forte for Java を使用したサーブレットおよび JSP のデバッグ



Forte for Java デバッガを使用できるように iPlanet Web Server を設定するには、以下の手順に従います。

  1. iPlanet Web Server に必要な JDK バージョン 1.2.x がまだインストールされていない場合は、「JSP を実行するためにサーバで必要なもの」 を参照してインストールします。必要なバージョンはプラットフォームによって異なります。

  2. 以下の Web サイトから入手可能な JDK バージョン 1.3 をインストールします。

    http://java.sun.com/j2se/1.3/

    iPlanet Web Server では JDK バージョン 1.2.x を使用しますが、Forte for Java にはバージョン 1.3 が必要です。

  3. 以下の Web サイトから入手可能な Forte for Java の Community Edition 1.0 をインストールします。

    http://www.sun.com/forte/ffj/ce/

  4. 以下の Web サイトから入手可能な JPDA もインストールすることを強くお勧めします。

    http://java.sun.com/products/jpda/

  5. JPDA をインストールしたら、jpda_install/bin ディレクトリのすべてのファイルを jdk1.2_install/jre/bin ディレクトリにコピーします (jpda_install は JPDA のインストール先、jdk1.2_install は JDK バージョン 1.2 のインストール先を示す)。また、jpda.jar ファイルを jpda_install/lib ディレクトリから jdk1.2_install/jre/lib/ext ディレクトリにコピーします。

    JPDA は JDK 1.3 ではなく 1.2 で稼動することに注意してください。

  6. Windows NT では、magnus.conf ファイルに以下の行を追加して Windows NT コンソールを有効にします。

    Init fn="nt-console-init" stdout=console stderr=console

  7. jvm12.conf ファイルを編集してリモートデバッグを有効にします。JPDA をインストールしなかった場合は、以下の行を追加します。

    jvm.enableDebug=1
    jvm.compiler=NONE

    JPDA をインストールした場合は、以下の行を追加します。

    jvm.enableDebug=1
    jvm.compiler=NONE
    jvm.option=-classic
    jvm.option=-Xnoagent
    jvm.option=-Xrunjdwp:transport=dt_socket,server=y,suspend=n

  8. Forte for Java を起動し、デバッグするサーブレットまたは JSP が設定されているディレクトリをマウントします。

  9. iPlanet Web Server を起動します。以下のような行がコンソールに表示されます。

    Listening for transport dt_socket at address:port_number
    (port_number はポート番号を示す)

    この port_number を書き留めます。

  10. Forte for Java で「Debug」メニューを選択し、「Attach to VM...」オプションを選択します。port_number を「Port」テキストボックスに入力し、「OK」を選択します。

サーブレットまたは JSP のデバッグの準備ができました。



デバッグ用の JPDA オプション



JPDA がインストール済みの場合に jvm12.conf ファイルに設定することができるデバッグオプションのリストが、以下の Web サイトにあります。

http://java.sun.com/products/jpda/doc/conninv.html#Invocation


前へ     目次     索引     DocHome     次へ     
Copyright © 2000 Sun Microsystems, Inc. Some preexisting portions Copyright © 2000 Netscape Communications Corp. All rights reserved.

Last Updated September 17, 2001