このページでは、WebSphere Application Server
上のアプリケーションのデバッグに関する制限、およびそれらの制限に対処する際の推奨メソッドについて説明します。製品の
README も参照してください。このデバッガーについて追加の制限が記載されている可能性があります。
Web オブジェクトのデバッグ
- サーバー上でデバッグを実行する前に
Java™
通信タイムアウトの設定値を増やすとよい場合があります:
デバッガーのアプリケーションへの接続が困難な場合は、
Java
デバッグのタイムアウト設定値を増やすとよいかもしれません。この問題の有無を判別するには、
<workspace>\.metadata\.log ファイルをチェックして、org.eclipse.jdi.TimeoutException メッセージの存在を調べます。
Java
タイムアウトの設定値を増やすには、ワークベンチ・メニュー・バー
から「ウィンドウ」>「設定」を選択します。「Java」ノードを展開し、「デバッグ (Debug)」をクリックします。
「デバッグの設定」ページで、両方の通信タイムアウト (デバッガー・タイムアウト (ミリ秒) と 起動タイムアウト (ミリ秒) - これらの 2 つのフィールドにデフォルト値の少なくとも 2 倍の値を指定することをお勧めします) を増やします。
タイムアウト設定値を増やさなければ、サーバー上でデバッグを実行する際にデバッガーがハングします。
WebSphere®
Application Server バージョン 6.0 以降で実行されるアプリケーションの場合
は、ここで、「サーバー」ビューのサーバーを右マウス・ボタン・クリックし、ポップアップ・メニューから
「デバッグ・プロセスの再接続」を選択して、再接続を試みることができます。
- 「ソース未検出エディター」が予期せずに閉じることがあります: ソース・ルックアップ・パスを編集する際のボタンを備えた、デバッガー「ソース未検出エディター」が予期せずに閉じることがあります。
ソース・ルックアップ・パスを編集するには、「デバッグ」ビューからオブジェクトを右マウス・ボタン・クリックし、ポップアップ・メニューから「ソース・ルックアップの編集」を選択します。
- EJB ホーム・メソッドの場合、段階的デバッグ・モードは失敗します:
WebSphere
Application Server デバッグ・アダプターを使用して、デバッグ・セッションを起動すると、段階的デバッグ・モードは EJB ホーム・メソッドの場合は
停止しません。これらのメソッドをデバッグしたい場合は、ブレークポイントを使用します。
- Java
から
JavaScript™
へのステップ・リターンはサポートされません:
Java
から
JavaScript
コードに戻りたい場合は、ブレークポイントを使用してください。
- JSP ページのデバッグ:
- JSP ページをデバッグするときは、EL (式言語) はサポートされません。
例えば、EL を含む JSP 行にはステップイントゥできません。
- 段階的デバッグは、実行可能コードを含まない JSP ページの場合は機能しません。
- JSP 変数および式のインスペクションおよび表示はサポートされません。
- 「指定行まで実行」は、JSP ページではサポートされません。
- JSP ファイルのブレークポイントの設定に時間がかかることがあります。
JSP ファイル・ブレークポイントが多い場合は、デバッガーの初期化する時間が余分にかかります。
- JSP 宣言ブロックの静的変数のブレークポイントは機能せず、他のブレークポイントの問題の原因となることがあります。
- ホット・スワップ後のスタック・フレーム・ラベル: ホット・コード置換後に、
いくつかのスタック・フレームに次のようなラベルがある場合、
<unknown receiving type>(<unknown declaring type>).<unknown method name>(<unknown arguments>) line: not available <unknown line number>
別のパースペクティブに切り替えてからデバッグ・パースペクティブに戻ることによって、正しいラベルを取得できます。
- Java のデバッグ時に、「コンソール」ビューに
TimeoutException エラーが表示されることがあります。エラー・メッセージが開いた場合に、デバッガー・タイムアウトの時間を延長するとエラーを防げます。
デバッガー・タイムアウトの時間を延長するには、
ワークベンチ・メニュー・バーから「ウィンドウ」 > 「設定」を
選択して、「設定」ダイアログ・ボックスを開きます。
このダイアログ・ボックスで、「Java」ノードを開き、
「実行/デバッグ (Run/Debug)」ノードを選択します。
その結果表示される「デバッグ」設定ページで、
「通信」セクションの
「デバッガー・タイムアウト」フィールドの値を
増加させます。
JSP ページのデバッグ:
- JSP ファイルでは、ブレークポイントは以下のタグ内に設定できます。
- 次の形式の JSP スクリプトレット: <% %>
- 次の形式の JSP 式: <%= %>
- 次の形式の JSP 宣言: <%! %>
- jsp:useBean タグ、jsp:getProperty タグ、および jsp:setProperty タグ
- カスタム・タグ
- ブレークポイントは、以下のタグ・セットの場合は設定できません。
- HTML コード
- JSP ディレクティブ
- その他のすべての標準 JSP タグ (jsp:include、jsp:forward、等々)
- ワークスペースを古いバージョンの
WebSphere
Studio からこのバージョンにマイグレーションする場合は、JSP ファイルのブレークポイントを削除して、再作成する必要があります。
ホット・メソッド置換
- クラスの形状 に影響を与えるソースへの変更はサポートされません。
メソッド本文への変更はホット・メソッドで置換されますが、以下は置換されない変更の例です。
- メソッドの除去/追加などのクラス構造への変更
- クラス変数の変更
- インナー・クラスへの変更
- 下部スタック・フレームのコードへの変更 (main(...) メソッド) はホット置換できません。
- JSP ページ・デバッグは、
Java
コードのホット・メソッド置換をサポートしません。
双方向 (BIDI/BiDi) 言語の制限
ネイティブ・コード・ページ以外のコード・ページでエンコードされた JSP ファイルをデバッグすると、デバッガー・エディターを使用できなくなります。