![]() |
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 を使用していると仮定すると、以下の手順でリモートデバッグを行うことができます。
サーバが単一処理モードで稼動していることを確認します。単一処理モードはデフォルト設定ですが、magnus.conf ファイルで MaxProcs パラメータに 1 より大きい値が設定されていないことを確認します。magnus.conf に MaxProcs が設定されていない場合、デフォルト値の 1 が使用されます。単一処理モードと多重処理モードの詳細は、iPlanet Web Server の『管理者ガイド』を参照してください。
これで、jdb コマンドを使用して Java クラスのデバッグを行えます。jvm12.conf で以下のパラメータを適宜設定します。
jvm.enableDebug=1
java.compiler=NONE例外をログファイルとクライアントに送信するには、以下のパラメータを設定します。クライアントがブラウザの場合、例外はブラウザに表示されます。
jvm.trace=7プラットフォームによっては、起動クラスパスを指定する必要があります。たとえば、Solaris プラットフォームでは、Java 1.2 が /java にある場合、jvm12.conf で以下のように設定します。
jvm.option=-Xbootclasspath:/java/lib/tools.jar:/java/jre/lib/rt.jar
JSP のデバッグ
以下の手順に従って JSP のデバッグを行います。
サーバが単一処理モードで稼動していることを確認します。単一処理モードはデフォルト設定ですが、magnus.conf ファイルで MaxProcs パラメータが 1 より大きい値に設定されていないことを確認します。magnus.conf に MaxProcs が設定されていない場合、デフォルト値の 1 が使用されます。単一処理モードと多重処理モードの詳細は、iPlanet Web Server の『管理者ガイド』を参照してください。
java.compiler=NONE に設定すると、ログファイルの詳細出力に Java ソースコードの行番号が追加されます。jvm.trace=6 または jvm.trace=7 に設定すると、JSP コンパイラおよびサーブレットエンジンから詳細出力が行えます。nes.jsp.enabledebug=1 に設定すると、iPlanet Web Server 6.0 では、デバッグ可能な Java サーブレットを JSP から生成します。jvm12.conf で以下のパラメータを適宜設定します。
java.compiler=NONE
jvm.trace=6
nes.jsp.enabledebug=1例外をログファイルとクライアントに送信するには、以下のパラメータを設定します。クライアントがブラウザの場合、例外はブラウザに表示されます。
jvm.trace=7
デバッグ用のスタックトレースの生成
以下の手順に従ってデバッグ用の 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 を設定するには、以下の手順に従います。
iPlanet Web Server に必要な JDK バージョン 1.2.x がまだインストールされていない場合は、「JSP を実行するためにサーバで必要なもの」 を参照してインストールします。必要なバージョンはプラットフォームによって異なります。
サーブレットまたは JSP のデバッグの準備ができました。以下の Web サイトから入手可能な JDK バージョン 1.3 をインストールします。
以下の Web サイトから入手可能な Forte for Java の Community Edition 1.0 をインストールします。
- http://java.sun.com/j2se/1.3/
- iPlanet Web Server では JDK バージョン 1.2.x を使用しますが、Forte for Java にはバージョン 1.3 が必要です。
以下の Web サイトから入手可能な JPDA もインストールすることを強くお勧めします。
- http://www.sun.com/forte/ffj/ce/
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 ディレクトリにコピーします。
- http://java.sun.com/products/jpda/
Windows NT では、magnus.conf ファイルに以下の行を追加して Windows NT コンソールを有効にします。
- JPDA は JDK 1.3 ではなく 1.2 で稼動することに注意してください。
jvm12.conf ファイルを編集してリモートデバッグを有効にします。JPDA をインストールしなかった場合は、以下の行を追加します。
- Init fn="nt-console-init" stdout=console stderr=console
Forte for Java を起動し、デバッグするサーブレットまたは JSP が設定されているディレクトリをマウントします。
- 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
iPlanet Web Server を起動します。以下のような行がコンソールに表示されます。
Forte for Java で「Debug」メニューを選択し、「Attach to VM...」オプションを選択します。port_number を「Port」テキストボックスに入力し、「OK」を選択します。
- Listening for transport dt_socket at address:port_number
(port_number はポート番号を示す)
- この port_number を書き留めます。
デバッグ用の 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