IBM Books

Java 用ホスト・アクセス・クラス・ライブラリー


ホスト・アクセス・クラス・ライブラリー・アプレットのデバッグ

このセクションでは、 ホスト・アクセス・クラス・ライブラリー (HACL) アプレットのデバッグ用ツールと、 その使用法について説明します。

トレース機能

HACL には、ECLSession コンストラクターに特定のパラメーターを渡すことによって、 プログラムに基づいてアクティブになるトレース機能が組み込まれています。 このトレース機能は、使いやすい、ウィンドウ化されたインターフェースで、 この機能を使用して共用 HACL クラスとほとんどの内部クラスのトレースをカスタマイズできます。

トレース機能は、レベル 1 〜 3 の異なるトレース・レベルをサポートしています。 各トレース・レベルは、直前のトレース・レベルに追加されます。 作成されるトレース情報は、レベル 1 で最も少なく、レベル 3 で最も多くなります。 トレース・レベル 1 では、メソッド・パラメーターと戻り値も含めて、 メソッド入り口とメソッド出口のトレース情報が生成されます。 トレース・レベル 2 では、すべてのトレース・レベル 1 の情報と、 いくつかの追加情報が生成されます。 トレース・レベル 3 では、すべてのトレース・レベル 2 の情報と、 多くの追加情報が生成されますが、 その情報はトランスポート層を介してホストと間でやりとりされるバイトに至るまで生成されます。

以下のサンプルでは、ECLSession を構成する方法、 ECLPS および DataStream 構成要素のトレースを可能にする方法について説明します。

Properties p = new Properties(); 
p.put(ECLSession.SESSION_HOST, new String("myHost")); 
p.put(ECLSession.SESSION_TRACE, ECLSession.SESSION_TRACE_PS + " " + ECLSession.SESSION_TRACE_DATASTREAM)); 
ECLSession s = new ECLSession(p); 

ECLSession には、トレース可能なすべての構成要素で使用する以下の定数があります。

定数

トレースされる構成要素

SESSION_TRACE_SESSION ECLSession
SESSION_TRACE_PS ECLPS
SESSION_TRACE_FIELDLIST ECLFieldList
SESSION_TRACE_FIELD ECLField
SESSION_TRACE_OIA ECLOIA
SESSION_TRACE_ERR ECLErr
SESSION_TRACE_XFER ECLXfer
SESSION_TRACE_OIA_EVENT ECLOIAEvent
SESSION_TRACE_PS_EVENT ECLPSEvent
SESSION_TRACE_COMM_EVENT ECLCommEvent
SESSION_TRACE_SD ECLScreenDesc
SESSION_TRACE_SCRN_RECO ECLScreenReco
SESSION_TRACE_PRINTER 印刷装置
SESSION_TRACE_DS データ・ストリーム
SESSION_TRACE_TRANSPORT トランスポート

プレゼンテーション・スペース・デバッガー

HACL には、ECLSession コンストラクターに特定のパラメーターを渡すことによって、 または ECLSession.ShowPSDebugger() メソッドを使用することによって、 プログラムに基づいてアクティブになるプレゼンテーション・スペース・デバッガーが組み込まれています。 プレゼンテーション・スペース・デバッガーはウィンドウ化されたインターフェースで、 これにより、 完全なプレゼンテーション・スペースを構成するさまざまなプレーンを見ることができます。 プレゼンテーション・スペース・デバッガーでは、 テキストフィールドカラー拡張フィールドDBCS、 およびグリッドの各プレーンを表示できます。

プレゼンテーション・スペース・デバッガーでは、 プレゼンテーション・スペースとの対話を行うことはできません。

以下のサンプルでは、ECLSession を構成して、 プレゼンテーション・スペース・デバッガーをアクティブにする 2 とおりの方法を説明します。

Properties p = new Properties(); 
p.put(ECLSession.SESSION_HOST, new String("myHost")); 
p.put(ECLSession.SESSION_PS_DEBUGGER, ""); 
ECLSession s = new ECLSession(p);

Host On-Demand での実行

HACL アプレットは、 Host On-Demand の「Run Applet」機能を使用してデバッグすることもできます。 この環境でユーザー・アプレットをデバッグすると、 プレゼンテーション・スペース・デバッガーを使用したときと比べて、 いくつかの利点があります。 最初に、Host On-Demand エミュレーター画面は対話式となっており、 これを使用することによって、 アプレットの開発者がアプレットの問題の解決策を見つける間、 アプレットのナビゲート問題に関する画面を表示することができます。 この環境には、 ホストとの接続およびホストの状態についてのカーソル位置と状況に関する情報など、 重要な情報を含むオペレーター情報域 (OIA) も含まれます。

トレードオフは、プレゼンテーション・スペース・デバッガーよりも、 Host On-Demand の「Run Applet」機能を使用した方が、効率がよくなります。 全機能エミュレーターのオーバーヘッドが追加されるので、 Host On-Demand でのアプレットの実行は遅くなることがあります。

Host On-Demand を使用してアプレットを実行するには、 アプレットに ECLAppletInterface がインプリメントされている必要があります。 このインターフェースには、 アクティブ・セッションをアプレットに渡すためのメソッドがあります。


[ ページ先頭 | 前のページ | 次のページ | 目次 ]