1.0 概要
2.0 既知の問題
2.1 Web 開発環境
2.2 WebSphere Application Server のデバッグ
2.3 JavaScript デバッガー
2.4 SQL ストアード・プロシージャーのデバッガー
2.5 テスト・ツールとデプロイメント・ツール (サーバー・ツール)
2.6 Java 開発ツール (JDT) デバッガー
2.7 コンパイル済み言語デバッガー
2.8 各国語の制限
2.9 SQLJ デバッガー
2.10 Active Script のデバッグ
WebSphere Studio 内のデバッガーは、Web アプリケーション、サーバー・サイド JavaScript、Active Script、Java、SQLJ、SQL ストアード・プロシージャー、コンパイル言語などのデバッグに必要なツールを提供します。この README ファイルは、WebSphere Studio デバッガーに関する既知の問題および制限について説明しています。
JSP デバッグ:
- JSP ファイルは WebSphere Application Server でのテスト中にデバッグすることが可能です。 Tomcat サーバーでのテスト中は、デバッガーは JSP ブレークポイントで停止しません。
- JSP ファイルの以下のタグの中にブレークポイントを設定することができます。
- フォームの JSP スクリプトレット: <% %>
- フォームの JSP 式: <%= %>
- フォームの JSP 宣言: <%! %>
- jsp:useBean、jsp:getProperty、および jsp:setProperty タグ
- カスタム・タグ
- 以下のタグ・セットにはブレークポイントは設定できません。
- HTML コード
- JSP ディレクティブ
- その他のすべての標準 JSP タグ (jsp:include、jsp:forward、など)
- 従来のバージョンの WebSphere Studio から現行バージョンにワークスペースをマイグレーションする 場合、JSP ブレークポイントを削除して再作成する必要があります。
- EJB ホーム・メソッドでは、段階的デバッグ・モードは失敗する: WebSphere Application Server デバッグ・アダプターを使用してデバッグ・セッションを起動すると、段階的なデバッグ・モードは EJB ホーム・メソッドで停止しません。これらのメソッドをデバッグする場合はブレークポイントを使用してください。
- Java から JavaScript へのステップ・リターンはサポートされない: Java から JavaScript コードへ戻る必要があるときはブレークポイントを使用してください。
- JSP のデバッグ:
- 実行可能コードを含まない JSP については段階的なデバッグ作業はできません。
- デバッグ・セッションを起動するために WebSphere Application Server デバッグ・アダプターを使用すると、JSP 変数と JSP 式を検査したり表示することはできません。
- JSP では、「この行まで実行 (Run to line)」はサポートされていません。
- JSP ブレークポイントの設定は時間がかかります。多くの JSP ブレークポイントがあるときには、 デバッガーの初期化により多くの時間がかかることを考慮してください。
- JSP 宣言ブロック内の静的変数のブレークポイントは機能せず、他のブレークポイントで問題を起こす場合があります。
- hit count、condition、selected thread、および VM suspend policy などのブレークポイント・プロパティーは JSP のブレークポイントではサポートされていません。
- デバッガー・エディターには Java ブレークポイントを設定しない: Java ブレークポイントは、デバッガー・エディターではなく、Java エディターに設定しなければなりません。
- 「ソース・ファイルの変更デバッグ (Change Source File Debug)」ビューのポップアップ・メニュー項目の使用: スタック・フレーム上の「ソース・ファイルの変更 (Change Source File)」ポップアップ・メニュー項目を使用して表示されたソース・ファイルを変更すると、 エディターで新しいファイルを開くことができない場合があります。 これを回避するには、別のスタック・フレームをクリックし、そのあと元のスタック・フレームをもう一度クリックしてください。これでエディターに新しいファイルが開かれるはずです。
- デバッグ・コンソール: デバッグ・コンソールでは、タイプをオープンするハイパーリンクは機能しません。
- ホット・スワップの後のスタック・フレーム・ラベル: ホット・コードを置き 換えた後で、一部のスタック・フレームのラベルは以下のようになります。
<unknown receiving type>(<unknown declaring type>).<unknown method name>(<unknown arguments>) line: not available <unknown line number>この場合、別のパースペクティブに切り替えることによって正しいラベルを取得し、 次にデバッグ・パースペクティブに戻すことができます。
- JavaScript オブジェクトは、そのコンストラクターが完了するまで、検査の目的で使用できない: ユーザーはコンストラクターの実行を段階的に実行することはできますが、構成が完了 (コンストラクターを終了) するまでは、構成されているオブジェクトを検査できません。
- トップ・スタック・フレーム以下のステップ・フレームとスタック・フレーム: JavaScript では、トップ・スタック以外のスタック・フレームのステップオーバーおよびステップ・リターンはサポートされていません。
- JSP の include: JSP の include では JavaScript のデバッグはサポートされていません。
- 再帰的関数から外に出る: 再帰的 JavaScript 関数をデバッグ中、再帰的関数から外に出ると、実行レベルのトップに戻ります。
- writer または inputStream の変数が組み込まれているオブジェクトは拡張しない: ユーザーは、JavaScript オブジェクトを調べるときに、writer または inputStream の変数が組み込まれているオブジェクトを拡張しないように注意してください。 この操作を行うと、デバッガーが応答しなくなります。
- テスト環境: JavaScript デバッグは、WebSphere V5 テスト環境で使用した場合、機能しません。この問題は、APAR #PQ73036 で修正済みです。
- Data Definition ビュー内でデータベースをインポートまたは削除すると、設定したブレークポイントが失われる場合がある: Data Definition ビュー内のフォルダーにデータベースをインポートする前に、SQL ストアード・プロシージャーをデバッグし、そしてデータベースをインポートすると、ユーザーの作成した行ブレークポイントはいずれも失われます。データベースを一度インポートすると、デバッガーはそのフォルダーをソースの表示に使います。インポートしたデータベース情報を削除すると、次回に SQL ストアード・プロシージャーをデバッグするときにブレークポイント情報も失います。これによって、データベースを最初にインポートしたときに失ったブレークポイントをリストアすることはできません。
この問題を避けるため、ストアード・プロシージャーのデバッグを開始する前にデータベースをインポートすることをお勧めします。
- Java ストアード・プロシージャーのデバッグはサポートされていません: エディターで、Java ストアード・プロシージャーのソース・コードにブレークポイントを追加することはできます。 しかし、Java ストアード・プロシージャーのデバッグがサポートされていないため、これらのブレークポイントは無視されます。
- 区切りストアード・プロシージャー名: SQL ストアード・プロシージャー・ デバッガーでは、区切りスキーマまたはプロシージャー名を持つストアード・プロシージャー に対するサポートは限定されています。そのようなプロシージャーは、データ定義ビューの コンテキスト・メニューからではなく、「構成の開始 (Launch Configuration)」ダイアログ から起動する必要があります。
- 複数のアクティブ SQL ストアード・プロシージャー・デバッガー・セッションの同時オープン・サポート: 本製品のバージョン 5.0 では、複数のアクティブ SQL ストアード・プロシージャー・デバッガー・セッションを一度に開くことはできません。この制限は、バージョン 5.0.1 以降には適用されません。
- FOR BIT DATA 引き数を含むストアード・プロシージャー: FOR BIT DATA 属性の引き数を持つストアード・プロシージャーは、WebSphere Studio SQL ストアード・プロシージャー・デバッガーでデバッグすることはできません。
- 早期提供バージョンの製品で作成された起動構成は現行製品で認識できない可能性があります: この製品の早期提供バージョンをインストールしてストアード・プロシージャーのデバッガーの起動構成を作成した場合、それを製品の現行バージョンで使用すると、その起動構成の設定は認識されない可能性があります。早期提供バージョンで保管された起動構成設定は、製品の現行バージョンでオープンされると、デフォルト値に戻される場合があります。
サーバーをデバッグ・モードで実行する場合は、以下の点を考慮してください。
- サーバーの開始と実行は、非デバッグ・モードでの実行より遅い場合がある。
- WebSphere Application Server では JSP ページのコンパイルに相当に長い時間を要する。
Java 開発ツールについての既知の問題および制限に関しては、Java 開発ツール (JDT) のリリース情報および ワークベンチ (IDE) リリース情報を参照してください。 これらの資料には、本製品とともにインストールされるメインの製品 README からリンクがあります。
- 「Unable to find DLL」エラー: コンパイルされたデバッグ・セッションを開始したときに、Windows メッセージ「Unable to find DLL」が出された場合は、LOCPATH 環境変数を除去してください。
- プログラムのソース・ビューまたはリスト・ビューに、既存のストリングを見付けけることができない: 大きなソース・ファイルまたはリスト・ファイルを扱っているときに、デバッガーのエディターの検索機能がストリングの検索に失敗することがあります。これは、エディターにソースまたはリストの一部しかロードされていない場合に発生することがあります。
- 記憶ビューに誤った文字が表示される: 記憶ビューが「16 進数と文字 (hex and character」としてフォーマットされている場合、16 進データが正しい場合でも、単一バイト のエンコードを持つ文字のみが正しく表示されます。.
- スクロールすると予想以上の行にジャンプする: デバッガー・エディターで前方 または後方にスクロールすると、予想以上の行にジャンプすることがあります。 特定の行に移動するには、「行に移動 (go to line)」アクション (Ctrl-L) を使用して ください。
- 双方向 (BiDi) の制限: ネイティブ・コード・ページ以外のコード・ページでエンコードされた JSP をデバッグ中にデバッガー・エディターを使うことはできません。
- コンパイル済み言語デバッガー:
- シングル・バイト (SBCS) システムの場合、 コンパイル済み言語デバッガーは、0x7F を超える文字を含むプログラム名や、それらの文字を含むプログラム・パラメーターの 受け渡しをサポートしていません。
- debuggee 名および debuggee 引き数での NL 文字の使用は サポートされていません。
J9 JVM を使用したデバッグの間にホット・スワップを行う場合、呼び出しスタックに SQLJ メソッドが存在すると、「スタックの廃止メソッド (Obsolete methods on the stack)」ダイアログが表示されます。ホット・スワップのクラスが SQLJ の場合、クラスが JVM に再ロードされますが、クラスのメソッドの次回の呼び出しまで新しいコードの実行は表示されません。
SQLJ クラスをホット・スワップする場合、現在のデバッグ・セッション中はこのクラスで SQLJ ブレークポイントは機能しません。
HTML Script アプリケーション
HTML Script アプリケーションのデバッグ・セッションを立ち上げると、次の問題が発生する場合があります。
- 「Error creating debug target」メッセージが継続して出される。
- 既存のブラウザーを接続してデバッグしようとすると、デバッガーで実行中ブラウザーのリストを取得できない。
これらの問題を解決するには、次を行います。
- 実行中のブラウザーおよび Microsoft(R) Windows エクスプローラー・ウィンドウをすべて閉じてから、別のデバッグ・セッションを開始します。
- 上記ステップで問題が解決しない場合、mdm.exe プロセスが破壊されています。実行中のブラウザーおよびファイル・エクスプローラーをすべて閉じて、Windows(R) タスク・マネージャーから mdm.exe を終了してください。その上で、デバッグ・セッションを再始動します。
既存のブラウザーを接続してデバッグしようとする場合、WebSphere Studio ワークベンチの内部ブラウザーに接続することのないようにしてください。内部ブラウザーに接続してデバッグを行うと、ワークベンチが応答しなくなり、予期しない結果が生じます。
HTML Script アプリケーションのデバッグ・セッション中に、次の問題が発生する場合があります。
- デバッグ・セッションを中断した場合に、エディターで現在場所が強調表示されない。
- ブレークポイントをインストール済みできない。
- ワークベンチのワークスペース外でソースをロードした場合、ソースを表示できない。
これらの問題を解決するには、次を行います。
- ブラウザーがページを正しくロードしていない場合があります。Microsoft(R) Internet Explorer で最新のページに更新してください (更新を何度か行う必要のある場合があります)。
- ページを更新しても問題が解決されない場合は、デバッグ・セッションを終了してください。実行中のブラウザーおよびファイル・エクスプローラーをすべて閉じて、デバッグ・セッションを再始動してください。
- 上記ステップで問題が解決しない場合、mdm.exe プロセスが破壊されています。デバッグ・セッション、すべての実行中のブラウザー、およびファイル・エクスプローラーを終了します。その上で、Windows(R) タスク・マネージャーから mdm.exe を終了して、デバッグ・セッションを再始動します。
Active Script のデバッグ中にワークベンチのヘルプ・ウィンドウまたは内部ブラウザーを開いておくと、デバッグ・セッションの障害となり予期しない動作をする場合があります。
ページがサーバーにデプロイされている場合、デバッグ・セッションの前に設定したブレークポイントは無視されます。ブレークポイントを設定するには、デバッグ・セッションを中断してソースを呼び出し、その一時的ページでブレークポイントを設定します。詳しくは、『Setting Line Breakpoint』を参照してください。
アクティブ・スクリプト・デバッガーは、Microsoft(R) Script Debugger を使用して デバッグ情報を取得します。Microsoft(R) Script Debugger に関連したその他の問題については、製品の ReadMe.htm を参照してください。
Script Host アプリケーション
Script Host Application のデバッグ・セッションを立ち上げると、次の問題が発生する場合があります。
- 「Error creating debug target」メッセージが継続して出される。
この問題を解決するには、次を行います。
- 実行中のブラウザーおよび Microsoft(R) Windows エクスプローラー・ウィンドウをすべて閉じてから、別のデバッグ・セッションを開始します。
- 上記ステップで問題が解決しない場合、mdm.exe プロセスが破壊されています。実行中のブラウザーおよびファイル・エクスプローラーをすべて閉じて、Windows(R) タスク・マネージャーから mdm.exe を終了してください。その上で、デバッグ・セッションを再始動します。
(C) Copyright IBM Corporation 2000, 2003. All Rights Reserved.