注:この Java Plug-in ガイドでは、Java SE 6 update 10 リリースより前にリリースされた機能について説明します。最新情報については、Java Rich Internet Application の開発および配備を参照してください。

< 目次

デバッグのサポート

このセクションでは、次のトピックについて説明します。

このドキュメントの目的は、アプレットのデバッグを簡略化することです。ここでは、Java Plug-in でアプレットを開発する上で役立つ技術や提案を提供します。また、アプレット開発で発生しがちなエラーについても説明します。

Java Plug-in でのアプレットのデバッグ方法

アプレットは、Java デバッガユーティリティー jdb を使用してデバッグするようにしてください。 javac で .java ファイルをコンパイルするとき、必ず -g オプションを付けることも必要です。アプレットのデバッグを開始するには、次の操作を実行します。

  1. 「Java コントロールパネル」を開きます。「Java」>「表示」をクリックします。Java ランタイムパラメータで、次のパラメータを指定します。次に示すように、各パラメータをコンマで区切ります。

    -agentlib:jdwp=transport=dt_shmem,address=jdbconn,server=y,suspend=n  
    

    デバッグに使用可能な実行時パラメータの詳細は、「JPDA の接続および呼び出し」を参照してください。

  2. Internet Explorer または Mozilla ブラウザを起動して、デバッグ対象のアプレットを含むページをロードします。アプレットコードが、javac-g オプションを付けてコンパイルされていることを確認してください。

  3. DOS コマンドプロンプトで、コマンド jdb -attach <address> を実行します。<address> には、この手順で言及した名前を指定してください。たとえば、<address>jdbconn の場合、実行するコマンドは次のようになります。

    jdb -attach jdbconn

    Java デバッガ (jdb) の詳細は、「Java デバッガ」を参照してください。

  4. jdb から VM への接続が確立されると、アプレット内にブレークポイントを設定できます。

  5. ブラウザ内のアプレットがブレークポイントに達すると、実行は停止し、デバッガは待機状態に入ります。ユーザーが入力するまでデバッグは再開されません。

Java Plug-in でアプレットのデバッグを行う場合、一度に 1 つの接続アドレスを使用してデバッグを行うのは、ブラウザの 1 つのインスタンスだけであることを確認してください。このようにしない場合、ブラウザの各インスタンスの Java Runtime が接続アドレスへの排他的なアクセスを試みるため、競合が発生します。Internet Explorer とサポートされている Mozilla ブラウザの両方でアプレットをデバッグする場合、Java Plug-in とともに Internet Explorer またはサポートされている Mozilla ブラウザのどちらかを実行するようにします。ただし、一度に両方を実行しないでください。

Active Desktop 環境で Java Plug-in のアプレットをデバッグすることは推奨されていません。これは、ユーザーセッションの期間中、Internet Explorer のインスタンスが常にデスクトッププロセスで実行されているためです。

jdb の代わりに、Borland 社の JBuilder や Symantec 社の VisualCafe など、IDE からほかのデバッガを使用できます。これらのデバッガを使用するには、これらの IDE のプロジェクトオプションを変更し、同じマシンまたはリモートマシンのブラウザプロセス内に Java Plug-in を追加する必要があります。Java コントロールパネルに、別の Java 実行時のパラメータを設定することが必要な場合もあります。詳細は、Java デバッガまたは IDE マニュアルを参照してください。

「Javaコンソール」

Java コンソールは、System.out および System.err メッセージをすべてリダイレクトする単純なコンソールウィンドウです。コンソールウィンドウは、デフォルトで無効になっています。Java コントロールパネルまたはタスクバーで有効にできます。コンソールを有効にすると、ブラウザ内で Java Plug-in を使用する際にコンソールウィンドウが表示されます。Java コンソールの詳細は、Java コンソールのドキュメントを参照してください。

Java コンソールの詳細は、「配備ガイド」「Java コンソール」セクションを参照してください。

配備トレース情報

Java Plug-in と Java Web Start は両方とも、トレース情報をトレースファイルに出力できます。これには JRE 自体からのログ情報と、アプリケーションから System.out または System.err に出力されるすべての情報が含まれます。

トレース情報にアクセスするには、次の手順に従ってください。

  1. 「Java コントロールパネル」(<JRE directory>/bin/ControlPanel) を開きます。
  2. 「詳細」タブを選択します。
  3. 「デバッグ」のカテゴリで、「トレースを有効にする」のチェックボックスをチェックします。
  4. オプションとして、「Java コンソール」のカテゴリで、「コンソールを表示する」のラジオボタンを選択すると、トレース情報がコンソールウィンドウに表示されます。完全なトレースは、ファイルに保存されます。

トレースファイルは Java 配備ホームディレクトリ内のログディレクトリに保存されます。ここは、主な構成ファイルが保持されている場所です。この場所は、オペレーティングシステムに固有です。

ファイル名には、実行している対象によって javaws または plugin の接頭辞がつきます。プロセスにつき 1 つのトレースファイルが作成されますが、1 つのアプリケーションは複数のプロセスを使用して起動できます。

トレースファイルの詳細レベルを最大にするには、deployment.properties ファイル (Java 配備ホームディレクトリにあります) を編集して次の行を追加します。

deployment.trace.level=all

デフォルトでは、最大 5 つのトレースファイルが作成されます。もっとも古いトレースファイルが自動的に削除されます。このトレースファイルの最大数の制限を変更するには、deployment.properties ファイルに次の行を追加します。

deployment.max.output.files=<maximum number of trace files>

Java コンソールを使用して、実行中にトレースログを表示できます。デフォルトでは、Java コンソールは非表示です。これを Java コントロールパネルで有効にしてください。

Java Plug-in のトレースファイル

Java Plug-in のトレースファイルは、すべてのデバッグ、System.out、および System.err メッセージを記録します。トレースファイルはデフォルトでは無効に設定されていますが、Java コンソールが有効になると、自動的にトレースファイルも有効になります。 トレースファイルは、デフォルトでは user.dir 内の C:\Documents and Settings\<username>\Application Data\Sun\Java\Deployment\log に格納されます。トレースファイルの命名規則は、.plugin<version>.trace です。<version> は、システムにインストールされている Java のバージョンです。

user.dir ディレクトリには、さまざまなログファイルおよびトレースファイルがあります。Windows 2000 および Windows XP では、このファイルは次の場所にあります。
C:\Documents and Settings\<username>\Application Data\Sun\Java\Deployment.

Application Data フォルダとその内容は、Windows ではデフォルトで非表示になっています。

javaplugin.trace プロパティー

このプロパティーは、Java Plug-in が実行時にトレースメッセージを出力するかどうかを制御します。これは、アプレットの開発者が Java Plug-in 内で起きていることを知るのに役立ちます。トレースを有効にするには、次の手順に従います。

java.security.debug プロパティー

このプロパティーは、Java Runtime Environment のセキュリティーシステムが、実行時にトレースメッセージを出力するかどうかを制御します。これは、アプレット内でセキュリティー例外がスローされた場合、または署名付きアプレットが動作しない場合に有用です。サポートされるオプションは次のとおりです。

access には、次のオプションを指定できます。

たとえば、checkPermission の結果をすべて出力し、コンテキスト内のすべてのドメインをダンプするには、次の手順を実行します。

ドキュメント

Java Plug-in の提供するドキュメントは、開発者が Java Plug-in のさまざまな機能を使用する上で役に立ちます。ドキュメント内の FAQ には、開発者がしばしば尋ねる質問が掲載されています。アプレットを開発する前に、これらのドキュメントを読んで理解しておくと、デバッグに費やす時間を大幅に節約できる場合があります。

バグの特定

Java Plug-in は Internet Explorer およびサポートされている Mozilla ブラウザ内で Java 2 Runtime Environment を提供するとはいえ、機能の大半は Java Plug-in ではなく、Java 2 Runtime 自体により提供されます。このため、Java Plug-in 内で問題が発生した場合、原因は Java Plug-in、Java 2 Runtime 自体、またはユーザーエラーのいずれかにあります。バグの原因がどこにあるかを識別するのは、バグの評価および修正の速度に影響するため、非常に重要です。次に、バグを特定するのに役立つ提案を示します。

  1. Internet Explorer とサポートされている Mozilla ブラウザの両方で Java Plug-in を使用してアプレットを実行します。 
  2. appletviewer でアプレットを実行します。Java Plug-in は主に appletviewer から派生したものなので、appletviewer からの問題点も継承しています。この手順は、Java Plug-in の提供する特定のブラウザ機能 (HTTPS や RSA 署名など) をアプレットが必要としない場合にだけ実行してください。
  3. アプレットが appletviewer で失敗する場合、問題はたいてい Java Plug-in にあるのではなく JRE にある可能性があります。 
  4. アプレットが IE またはサポートされている Mozilla ブラウザの一方だけで失敗する場合、問題はたいてい Java Plug-in にあります。
  5. アプレットが IE と Netscape の両方のブラウザで失敗するが appletviewer では失敗しない場合、Java Plug-in の問題かユーザーエラーのどちらかの可能性があります。アプレットのコードを表示して、実行環境に関して何らかの前提条件が存在するかどうかを確認してください。たとえば、appletviewer では、カレントディレクトリが、appletviewer 起動時のシェル内のカレントディレクトリに設定されるのに対し、Java Plug-in のカレントディレクトリはブラウザのディレクトリに設定することが可能です。したがって、カレントディレクトリからのリソースのロードは appletviewer では実行できますが、Java Plug-in ではできません。
  6. ほかのマシンまたはプラットフォームで問題の再現を試みます。ときには、問題の原因がマシンの構成にある場合 (不適切な DNS 設定など) があります。
  7. Java 2 Runtime Environment または Java Plug-in で問題を識別できた場合は、次のセクションの指示に従ってバグレポートを適切な製品カテゴリに送信してください。

バグレポートの送信

バグレポートを送信するときは、Java Development Connection の Bug Database に移動してください。バグレポートを送信する前に Bug Databese を検索して、同じバグがすでに報告されているかどうかを確認してください。場合によっては、回避方法が示されていることもあります。バグレポートが未提出であることを確認したら、新規バグレポートを Java Plug-in チームに送信してください。バグレポートには、次の情報を含めてください。

機能要求の送信

機能要求を送信する場合は、「Report A Bug or Request a Feature」のページから行います。送信に際しては、次の情報が含まれていることを確認してください。


Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.