ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Service Busでのサービスの開発
12c (12.2.1)
E69914-01
  目次へ移動
目次

前
次
 

57 Oracle Service Busアプリケーションのデバッグ

この章では、メッセージ・フローでブレークポイントを設定し、JDeveloperデバッガを使用して、Service Busのパイプラインおよび分割-結合をデバッグする方法を説明します。次の項が含まれます:

57.1 デバッガの概要

JDeveloperは、Service Busプロジェクト・コンポーネントを評価し強化するために役立つ包括的な統合デバッガを提供します。デバッガは、開発環境内に直接トラブルシューティング機能を提供することで、開発サイクルを短縮します。つまり、JDeveloperでService Busアプリケーションを構築して実行し、JDeveloperに戻って問題を修正し、これらの手順を繰り返すという必要はありません。かわりに、パイプラインと分割-結合をトラブルシューティングするためのブレークポイントをJDeveloper内で直接設定できます。

デバッガでは、Javaコールアウトを処理できます。また、並列処理を使用する分割-結合でのマルチ・スレッド・デバッグをサポートします。デバッガを使用するときは次のガイドラインに留意してください。

  • デバッグは、JDeveloperのデザイン・ビューに制限されています。

  • Javaコールアウト・アクション、XQueryの変換など、ほとんどの言語間機能はデバッグできません。XSLTマップのデバッグは、12.2.1リリースで新しくサポートされています。詳細は、「XSLTエディタのデバッグ・サポート」を参照してください。

  • 一度に1つのクライアントのみがデバッガに接続できます。

  • サーバーが開発モードの場合にのみデバッグできます。

  • デバッガは本番モード、あるいはサーバーがクラスタの一部か非クラスタドメインの管理サーバーと1つ以上の管理対象サーバーの場合には有効にできません。

  • SOAデバッガを使用するその他のガイドラインについては、Oracle SOA SuiteでのSOAアプリケーションの開発のSOAデバッガの概要に関する項を参照してください。

デバッガ・ウィンドウの一般的な情報は、『Oracle JDeveloperによるアプリケーションの開発』のJavaプロジェクトの実行およびデバッグに関する項を参照してください。

57.1.1 デバッグ・サーバー

統合またはスタンドアロンのWebLogic ServerにデプロイされているService Busコンポーネントをデバッグできます。JDeveloperではローカル統合WebLogic Serverインスタンスのライフサイクルを管理できます。ローカル統合サーバーを構成する場合は、「JDeveloperでこのサーバー・インスタンスのライフサイクルを管理します」を選択できます。この構成では、JDeveloperは、ユーザーが実行コマンドまたはデバッグ・コマンドを選択したときにサーバーを起動します。統合サーバーがJDeveloperによって管理されるように構成されていない場合は、サーバーを手動で起動および停止する必要があります。ただし、引き続き実行コマンドを使用して、テストするサービスをサーバーにデプロイできます。統合サーバーがリモートの場合、「JDeveloperでこのサーバー・インスタンスのライフサイクルを管理します」は選択しないでください。

デバッグ用にスタンドアロン・サーバーを使用する場合は、それがローカルであるか、リモートであるかに関係なく構成は同じです。アプリケーション・プロパティでサーバーを構成する必要はありません。スタンドアロン・サーバーでは、アプリケーション・ナビゲータから実行コマンドを使用できません。そのかわりに、デプロイ・コマンドを使用してService Busアプリケーションをサーバーに手動でデプロイし、テスト・コンソールを手動で起動する必要があります。

57.1.2 ローカルおよびリモートでのデバッグ

デバッグは、ローカルまたはリモートのいずれかのWebLogic Serverで実行できます。ローカルのデバッグ・セッションは、ソース・ファイルにブレークポイントを設定してからデバッガを起動することで、開始されます。Service Busコンポーネントのデバッグ時には、実行フローを完全に制御し、変数の値を表示および変更できます。

リモート・デバッグには、デバッガとデバッグ対象の2つのJDeveloperプロセスが必要です。デバッグ対象は実行中のサーバーで、JDeveloperで定義されている場合もあれば定義されていない場合もあり、異なるプラットフォームに常駐していることもあります。デバッグ対象サーバーには、Service Busアプリケーションがデプロイされている必要があります。リモート・デバッグを実行するには、「リモート・デバッグ用実行構成の作成方法」に説明されているとおり、プロジェクト・プロパティで実行構成を構成する必要があります。

57.1.3 ブレークポイントを使用したデバッグ

ブレークポイントは、パイプラインまたは分割-結合内でメッセージ処理を一時停止するポイントをマークします。これによって、一部またはすべてのメッセージ変数の値を確認できます。メッセージ・フローの考えられる問題領域にブレークポイントを設定することで、デバッグする位置に達するまでメッセージ・フローを通じてデータを実行できます。ブレークポイントに達すると、メッセージ処理は一時停止し、デバッガはソース・エディタ内のブレークポイントを含むアクションに着目します。その後、デバッガを使用してプログラムの状態を表示できます。ブレークポイントは、デバッグを開始する前に、またはデバッグ中に随時、柔軟に設定できます。

ブレークポイントは、パイプライン上の次のノードに追加できます。

  • ルート・ノード

  • ルート・アクション

  • ブランチ・ノード

  • パイプライン・ペア・パス(リクエストまたはレスポンス)

  • ステージ(パイプライン・ペアとエラー・ハンドラの両方)

  • ステージ・アクション(パイプライン・ペアとエラー・ハンドラの両方)

すべての分割-結合アクションにブレークポイントを追加できますが、Ifノードでブレークポイントを切り替えると、Ifノード自体ではなく、Ifノード内のIf条件のブレークポイントが切り替わります。

57.1.3.1 条件ブレークポイントについて

指定した条件がtrueのとき、条件ブレークポイントでコード実行が停止します。条件ブレークポイントは、このリリースのService BusおよびJDeveloperでサポートされています。Service Busアプリケーションのデバッグに使用するブレークポイントには、条件を追加できます。

trueまたはfalseを評価する有効なJavaScript式を、ブレークポイントの条件式として使用できます。式がtrueと評価された場合、または式が無効であるか、ブール値として評価されない場合は、実行が停止されます。ブレークポイントに有効な条件式は1つのみにしてください。

また、パス数を使用すると、トリガーされなくても、指定した回数までブレークポイントをパスした場合にコード実行が停止されます。条件式とパス数は同時に使用できます。

詳細は、次のトピックを参照してください。

57.1.3.1.1 条件式の動作

JDeveloperでService Busコンポーネントをデバッグする場合に、ブレークポイントに条件式を作成するときは、これらのガイドラインに従います。

式は最上位のスタック・フレームのデータ値のみを参照する可能性があります。図57-1に示す例について考えます。

図57-1 JDeveloperのデータ値

「図57-1 JDeveloperのデータ値」の説明が続きます
「図57-1 JDeveloperのデータ値」の説明

この例では、次の式のいずれも有効な条件式になります。

  • $inbound.security.transportClient.username == “fred”
  • $body.search(“aqz3”)
  • $messageID.indexOf(“8087”) > -1

Service Busのほとんどのデータ値がXMLタイプであるため、1つの親の元に同じ名前のアイテムが複数ある場合があります。この構造のタイプは、条件式で配列として扱います。図57-1$inbound.security.transportClient.principalsの構造について考えます。この場所には、4つの要素があります。このグループの特定の要素にアクセスするには、次の条件式を使用できます。

  • $inbound.security.transportClient.principals[0] == “AdminChannelUsers”
  • $inbound.security.transportClient.principals[3] == “Monitors”

図57-1では、$outbound変数の値はnullです。この場合、nullは文字列値です。null文字列値を表現する、正しい条件式は$outbound == “null”です。$outbound変数の値がない場合は、正しい条件式は$outbound == “”になります。

条件式では、空白は変数名の文字として使用できません。変数名の空白は、アンダースコア(_)に変更する必要があります。図57-1Java Repository変数を例として使用すると、変数は、条件式でJava_Repository.jcid:null == “ref”のように参照され、変数名(Java Repository)はアンダースコアに置換されます(Java_Repository)。

57.1.3.1.2 条件式の実行時評価エラー

条件式が(論理的または構文上)無効な式の場合や、なんらかの理由でブール値として評価されない場合、評価に失敗したことが通知されます。

これらの通知は、クリアしなければ、残りのJDeveloperセッションにも使用できます。通知の他にも、JDeveloperは条件式の評価エラーをログに記録します。

57.1.3.1.3 スレッド・オプションについて

スレッド・オプションは、Service Busアプリケーションのデバッグではサポートされていません。

57.1.3.1.4 パス数について

パス数は、停止するまでにブレークポイントをパスする実行中の回数を指定する値です。この値に達すると、ブレークポイントでコード実行を停止します。パス数は、このバージョンのService BusおよびJDeveloperのブレークポイントでサポートされています。

「パス数」が設定されているブレークポイントをプロセスの実行に使用する場合、デバッガはカウント数を1ずつ減らし、それを0と比較します。結果がゼロでない場合、実行はそのブレークポイントで停止せずに続行されます。結果がゼロの場合、実行はそのブレークポイントで停止します。パス数が一致した後、現在のプロセスの残りについてもブレークポイントごとに実行が停止します。

注意:

パス数がゼロに達した後、次に示すように、パス数がリセットまたはクリアされるまでブレークポイントごとに実行が停止します。

パス数は次の場合にリセットされます。

  • デバッグ・セッションが終了し、再開したとき。

  • 「ブレークポイントの編集」ダイアログの「パスの回数」フィールドの値を更新したとき。

ブレークポイントからパス数をクリアするには、「ブレークポイントの編集」ダイアログでその値をゼロに設定します。

57.1.3.1.5 条件式およびパス数の同時使用

ブレークポイントには、条件式とパス数の両方を指定できます。両方が設定されている場合、式はtrueと評価され、さらに実行中にそのパス数に達すると指定のブレークポイントで停止します。

例に示すとおり、条件式がtrueと評価されても、パス数が10で設定されている場合、パス数の条件も一致するまでは、このブレークポイントで実行が停止しません。パス数と条件の両方が指定されている場合は、常にパス数が最初にチェックされ、ゼロに達していなければ減少します。パス数に達した場合、ブレークポイントに達するたびに条件式が評価されます。

57.1.3.2 例外ブレークポイントについて

どの位置で実行を停止するかを指定する標準のブレークポイントとは異なり、例外ブレークポイントは、指定したタイプの例外の発生源で実行を停止します。例外ブレークポイントは、このリリースのService BusおよびJDeveloperでサポートされています。例外ブレークポイントは、パイプラインと分割-結合に対して作成できます。

例外ブレークポイントがトリガーされると、デバッグ・フレームワークが通知され、実行を停止する位置が示されます。実行が停止されると、次の情報について確認できます。

  • 発生した例外タイプ。これはワイルドカードを使用して例外ブレークポイントを作成した場合に役立ちます

  • 例外に関するメッセージ

  • ランタイムでスローされたベースとなる例外のスタック・トレース(使用可能な場合)

  • 実行が停止したときのスタック・フレームおよびデータ値。

有効な複数の例外ブレークポイントが発生した例外タイプと一致する場合、デバッグ・フレームワークでは、例外と完全に一致するブレークポイント(たとえば、ワイルドカードを使用していない例外ブレークポイントなど)、またはワイルドカードが設定されている最初のブレークポイントが選択されます。

例外ブレークポイントでは、条件式とパス数がサポートされています。条件式とパス数に関する詳細は、「条件ブレークポイントについて」を参照してください。

Service Busコンポーネントでの例外ブレークポイントの使用に関する詳細は、次のトピックを参照してください。

57.1.3.2.1 パイプライン例外ブレークポイント

パイプライン・ランタイムはPipelineException例外をスローします。PipelineExceptionsには、(エラーの生成アクションを使用して)設定できるエラー・コード、または各アクションごとに設定されるエラー・コードが含まれます。

パイプライン例外ブレークポイントには、次の例外タイプを選択できます。

  • すべてのパイプライン例外: このタイプを使用すると、任意のパイプライン例外が(特に明示的なエラー・コードがなく)スローされたときに、実行が停止されます。

  • パイプライン例外: このタイプを使用すると、明示的なエラー・コードのあるパイプライン例外がスローされたときに実行が停止されます。たとえば、382510「エラー・コード」フィールドに入力すると、エラー・コード382510のパイプライン例外がスローされたときに実行が停止されます。

    ヒント:

    「エラー・コード」フィールドにアスタリスク(*)を入力すると、任意のパイプライン固有の例外を検索できます。

  • システム例外:

    このタイプは、ランタイムによってスローされる、予期しない例外に使用します。

パイプライン例外ブレークポイントの追加については、「Service Busコンポーネントに例外ブレークポイントを設定する方法」を参照してください。

57.1.3.2.2 分割-結合例外ブレークポイント

分割-結合はBPEL言語に基づいています。BPELエラー処理フレームワークでは、フォルトおよびフォルト・ハンドラを使用します。フォルトはQNamesによって定義されます。分割-結合には一連のBPEL言語定義フォルトがあります。また、独自のフォルトを手動で定義するか、WSDLフォルトを使用して定義できます。

分割-結合例外ブレークポイントには、次の例外タイプを選択できます。

  • すべての分割-結合例外: このタイプを使用すると、任意の分割-結合例外がスローされたときに、実行が停止されます。

  • すべてのシステム例外: この例外タイプを使用すると、任意のランタイム例外がスローされたときに、実行が停止されます。

  • 分割-結合例外: このタイプを使用すると、特定の分割-結合エラーがスローされたときに、実行が停止されます。たとえば、userFault「エラー・コード」フィールドに入力すると、userFaultという分割-結合エラーがスローされたときに実行が停止されます。

  • システム例外: このタイプを使用すると、特定のランタイム・エラーがスローされたときに、実行が停止されます。

分割-結合例外ブレークポイントの追加については、「Service Busコンポーネントに例外ブレークポイントを設定する方法」を参照してください。

57.1.4 JDeveloperデバッグ・ウィンドウ

JDeveloperは、デバッガとともにいくつかの異なるデバッグ・ウィンドウを提供します。これらのウィンドウで、デバッグ・プロセスを経過中のデータを表示および分析できます。Service Busは次のデバッグ・ウィンドウを使用します。

  • ブレークポイント

  • データ

  • ウォッチ

  • スタック

  • スレッド

  • ログ

これらのウィンドウの詳細は、『Oracle JDeveloperによるアプリケーションの開発』のデバッガ・ウィンドウの使用方法に関する項を参照してください。

57.1.5 XSLTエディタのデバッグ・サポート

12.2.1以降、JDeveloperが拡張され、SOAデバッガを使用してXSLTマップをデバッグできるようになりました。

この機能は、Service Bus分割-結合エディタとパイプライン・エディタ、およびJDeveloperのXSLTテスト・ツールから起動できます。XSLTマップ・エディタでのXSLTマップのデバッグおよびブレークポイントの設定については、Oracle SOA SuiteでのSOAアプリケーションの開発のXSLTマップのデバッグに関する項を参照してください。

57.2 プロジェクトおよびデバッガの構成

デバッグ・プロセスを制御するため、プロジェクトおよびデバッガの設定を構成できます。プログラムのデバッグまたは実行方法を制御する設定は実行構成で定義されます。これらの設定には、ターゲット、起動オプションおよびデバッガ、ログ出力、プロファイラの動作などが含まれます。Service Busは、ローカルでのデバッグおよびテスト用のデフォルトの実行構成を提供していますが、新しい構成を作成することもできます。1つのプロジェクトに、それぞれプロジェクトの特定のファセットまたは開発プロセスのフェーズに対応して設定されている複数の実行構成が存在する場合があります。実行構成は、プロジェクトにバインドされ、プロジェクトで作業する全員が使用できる場合もあれば、自分専用のカスタム構成の場合もあります。

これらの手順はオプションで、統合サーバーでデフォルト構成を使用してローカル・デバッグを実行できます。詳細と手順は、『Oracle JDeveloperによるアプリケーションの開発』の次のトピックを参照してください。

  • デバッグ用にプロジェクトを構成する方法

  • デバッガ開始オプションの設定方法

  • 実行用のプロジェクトの構成

57.2.1 リモート・デバッグ用に実行構成を作成する方法

Service Busが提供するデフォルト構成などの既存の構成をコピーして、新しい実行構成を作成します。コピー後に、新しい構成に応じて設定を変更します

リモート・デバッグ用に実行構成を作成するには:

ヒント:

実行構成ウィンドウで作業するウィンドウとフィールドの詳細を参照するには、「ヘルプ」をクリックしてください。

  1. メイン・メニューから「アプリケーション」をクリックし、「プロジェクト・プロパティ」を選択します。
  2. ナビゲーション・ペインで、「実行/デバッグ」を選択し、「実行/デバッグ」ページで「新規」をクリックします。
  3. 「実行構成の作成」ダイアログで、新しい構成の名前を入力し、初期プロパティのコピー元となる既存の実行構成を選択します。
  4. 「OK」をクリックします。
  5. 「実行/デバッグ」ページの「実行構成」セクションで、作成した構成を選択し、「編集」をクリックします。

    「実行構成の編集」ウィンドウが現れ、「起動設定」ページが表示されます。

  6. 「リモート・デバッグ」を選択し、必要に応じてその他のフィールドを変更します。
  7. ナビゲーション・ペインで、「ツール設定」→「デバッガ」の下の「リモート」を選択します。
  8. 「プロトコル」フィールドで「Service Busにアタッチ」を選択します。
  9. 以下のいずれか、または両方を実行します。
    • この実行構成が選択されたときに特定のサーバーに自動的に接続するには、ホスト名、ポート番号およびタイムアウト値を入力します。

    • この実行構成の選択時にホスト情報を入力できるダイアログを表示するには、「デバッガ接続前にダイアログ・ボックスを表示」を選択します。

    前述の両方の手順を実行すると、実行構成の選択時にダイアログが表示され、指定した接続情報がすでに移入されています。

  10. 「OK」をクリックし、さらに再度「OK」をクリックします。
  11. 「保存」をクリックします。

57.2.2 デバッグ用の実行構成を作成する方法

デフォルトの実行構成は、新しいプロジェクトごとに作成され、ローカル・デバッグに統合WebLogic Serverを使用します。このデフォルト構成または作成した他の構成を選択して、選択したプロジェクトを実行できます。JDeveloperツールバーからデバッガを実行する場合は、「デバッグ」アイコンの横にある使用可能な構成オプションのリストから実行構成を選択できます。

デバッグ用に実行構成を選択するには:

  1. メイン・メニューから「アプリケーション」をクリックし、「プロジェクト・プロパティ」を選択します。
  2. 「実行/デバッグ」を選択します。
  3. 「実行構成」リストで、使用する実行構成を選択して、「OK」をクリックします。

57.3 デバッガへのアクセス

JDeveloperデバッガを起動する方法は複数あります。この章に記載された手順では、アプリケーション・ナビゲータを使用してデバッガを起動しますが、準備が整った時点で次のいずれかの方法を使用してデバッガを起動できます。

  • アプリケーション内のプロジェクトまたはコンポーネントを右クリックし、「デバッグ」を選択します。

  • JDeveloperツールバーで、「デバッグ」アイコンをクリックします。デバッグ・プロセスは選択された実行構成を使用します。「デバッグ用に実行構成を選択する方法」を参照してください。

  • Service Busコンポジット概要エディタでパイプラインまたは分割-結合を右クリックし、「デバッグ」を選択します。

  • 開かれたパイプラインまたは分割-結合のエディタ内を右クリックし、「デバッグ」を選択します。

57.4 Service Busアプリケーションのデバッグ

この項では、JDeveloperでデバッガの起動、ブレークポイントの作成、およびService Busアプリケーションのデバッグを実行する方法を説明します。テスト・コンソールとデバッガを使用する以外にもデバッグする方法があります。JMSメッセージのポスト、ファイル・プロキシ・サービスのディレクトリへの入力ファイルの配置など、他の方法でサービスを実行することもできます。

57.4.1 Service Busコンポーネントにブレークポイントを設定する方法

ブレークポイントは、デバッグ・プロセス用に設定されるService Busアプリケーション内の意図的な一時停止位置です。テスト・コンソールを使用してテスト・データを実行すると、プロセスはブレークポイントごとに一時停止し、ユーザーが指示するまで再開しません。ブレークポイントは、パイプラインと分割-結合に設定できます。

Service Busコンポーネントにブレークポイントを設定するには:

  1. デバッグするパイプラインまたは分割-結合をエディタで開きます。
  2. ブレークポイントを追加するノードが表示されるまで、アクションを開きます。
  3. ノードを右クリックし、「ブレークポイントの設定」を選択します。

    ノードの横に、ブレークポイントが設定されていることを示す赤いアイコンが表示されます。

  4. 前述の手順を、ブレークポイントを追加するノードごとに繰り返します。
  5. ブレークポイントを無効にするには、ノードを右クリックし、「ブレークポイントを無効化」を選択します。

    「ブレークポイントを削除または無効にする方法」および「無効なブレークポイントを有効にする方法」に説明されているとおり、ブレークポイント・ビューでブレークポイントを有効化、無効化および削除することもできます。

  6. ブレークポイントを削除するには、ノードを右クリックし、「ブレークポイントの設定」を再度選択します。
  7. 「ブレークポイントを使用してデバッグする方法」に説明されているとおり、デバッグを開始します。

57.4.2 Service Busコンポーネントに例外ブレークポイントを設定する方法

例外ブレークポイントは、設定されているポイントでは実行を停止しません。例外ブレークポイントは、特定の位置ではなく、JDeveloperの「ブレークポイント」ウィンドウで設定します。

Service Busコンポーネントに例外ブレークポイントを設定するには:
  1. JDeveloperで、「ブレークポイント」ウィンドウに進みます。このウィンドウが表示されていない場合は、「ウィンドウ」メニューから「ブレークポイント」を選択してウィンドウを開きます。
  2. 「ブレークポイントの追加」アイコンをクリックし、次にパイプライン例外ブレークポイントまたは分割-結合例外ブレークポイントを選択して、選択したタイプの例外ブレークポイントを追加します。
  3. 「定義」タブで、「例外タイプ」リストからこのブレークポイントに使用する例外タイプを選択します。

    パイプラインおよび分割-結合例外ブレークポイントで使用可能な例外タイプについては、「パイプライン例外ブレークポイント」および「分割-結合例外ブレークポイント」を参照してください。

  4. 選択したタイプでサポートされている場合は、特定の例外エラー・コードを「エラー・コード」フィールドに入力するか、アスタリスク(*)を入力すると、選択したタイプの例外がスローされたときに実行が停止されます。
  5. (オプション)必要に応じて、「条件」および「アクション」タブでオプションを構成します。
  6. 「OK」をクリックします。
例外ブレークポイントが作成されます。例外ブレークポイントはデフォルトで有効になっています。

57.4.3 ブレークポイントを使用してデバッグする方法

ローカル・サーバーを使用してコンポーネントをデバッグする場合は、デバッグ・プロセスに入力情報を入力できるようにテスト・コンソールが起動されます。統合WebLogicサーバーを使用する場合は、ローカルでのみテストできます。プロジェクトのプロパティで、ローカルでテストするか、リモートでテストするかを指定します。また、デバッグ中のブレークポイントの処理方法も構成できます。

これらのオプションの設定方法の詳細は、『Oracle JDeveloperによるアプリケーションの開発』のデバッグ用にプロジェクトを構成する方法およびデバッガ起動オプションの設定方法に関する項を参照してください。

ブレークポイントを使用してコンポーネントでデバッグを開始するには:

  1. 「Service Busコンポーネントにブレークポイントを設定する方法」の説明に従って、デバッグするコンポーネントのブレークポイントを定義します。
  2. アプリケーション・ナビゲータでパイプラインまたは分割-結合を右クリックし、「デバッグ」を選択します。

    テスト・コンソールが表示されます。

    注意:

    実行中のドメインがない場合は、「デフォルト・ドメインの作成」ダイアログが表示されます。統合サーバーの接続情報を入力し、「OK」をクリックします。これには数分かかることがあります。

  3. 「リクエスト・ドキュメント」セクションにテスト・データを入力し、追加の入力を構成します。

    詳細は、「テスト・コンソールの使用」を参照してください。

  4. テスト・コンソールで「実行」をクリックします。

    テスト・コンソールはコマンドを実行しますが、最初のブレークポイントに達すると一時停止し、パイプラインまたは分割-結合のエディタに戻ります。この時点でブレークポイント・アイコンは、デバッガが停止されていることを示す赤色ではなく青色になります。

  5. JDeveloperの下部の「ログ」ウィンドウで、「データ」をクリックします。

    このウィンドウで、処理中の現在の状態の変数値を表示できます。ここで実行できる操作の詳細は、「デバッガ・ウィンドウでの操作」を参照してください。

  6. メッセージ処理で操作を続行するには、「デバッグ・セッションでのステップ実行方法」のステップを実行します。

57.4.4 デバッグ・セッションでのステップ実行方法

デバッグ・フレームワークを使用すると、デバッグ・コードに対してステップ・アクションを実行してインクリメンタルにデバッグできます。メッセージ・フロー部分に対してステップ実行し、同じまたは異なるコンポーネントの異なるブレークポイントなどの異なる位置でデバッグを開始できます。デバッグが進行するにつれ、ブレークポイント用の追加のフレームが作成され、スタック・ビューが表示されます。

次のステップで示されるすべてのアイコンが、ツールバーの「デバッグ」アイコンの右側にあります。アイコンにポインタを重ねると、アイコンの名前が表示されます。

デバッグ・セッションでステップ実行するには:

  1. 「ブレークポイントを使用してデバッグする方法」の説明に従って、パイプラインまたは分割-結合のデバッグを開始します。

    デバッガがブレークポイントに到達すると、ステップ実行を開始できます。

  2. 現在のどのブレークポイントでアクションが停止しているかを確認するには、「実行ポイントの検索」アイコンをクリックします。

    現在のブレークポイント・アイコンは赤色ではなく青色です。

  3. ブレークポイントでステップ実行し、次のアクションに移動するには、「ステップ実行」アイコンをクリックします。
  4. メッセージ・フローの次の有効な位置にステップ・インするには、「トレース実行」アイコンをクリックします。
  5. ブレークポイント・フレームからステップ・アウトするには、「ステップ・アウト」アイコンをクリックします。
  6. デバッガがブレークポイントで一時停止している場合は、「再開」をクリックして処理を再開します。プロセスは、次のブレークポイントに達するまで実行されます。

57.4.5 デバッグから終了または連結解除する方法

デバッグを停止するには、デバッガを連結解除するか、または終了します。

デバッグ・セッションを終了または連結解除するには:

  1. ツール・メニューで「終了」アイコンをクリックします。

    デバッガ・プロセスの終了ダイアログが表示されます。

  2. 「デタッチ」または「終了」を選択します。

    両オプションとも、デバッガのサーバーへの接続を終了しますが、プロセスは完了するまでサーバー上で実行を継続します。

  3. 「連結解除」を選択した場合、デバッグを再開するにはツール・メニューのデバッガ・アイコンをクリックします。

57.5 デバッガ・ウィンドウでの操作

デバッグ・セッションを開始すると、「ログ」ウィンドウにいくつかのタブが表示され、デバッグ・プロセスに役立つ追加情報と機能が示されます。これらのウィンドウは、「ウィンドウ」「デバッガ」メニューから開くこともできます。

57.5.1 ブレークポイント・オプションの編集方法

「ブレークポイント」ウィンドウでは、ブレークポイントをグループに追加し、グループ内のすべてのブレークポイントを有効化または無効化できます。また、ロギング、サウンドおよびブレークポイントに達したら処理を停止するかどうかも構成できます。デバッグ・セッションの内側または外側のいずれにいる場合でも、「ブレークポイント」ウィンドウは使用可能です。

ブレークポイントのオプションを表示および変更するには:

  1. 「ブレークポイント」ウィンドウが開いていない場合は、メイン・メニューから「ウィンドウ」「ブレークポイント」を選択します。
  2. ブレークポイントを右クリックして「編集」を選択するか、またはブレークポイントを選択して、ブレークポイント・ツールバーの「編集」アイコンをクリックします。

    「ブレークポイントの編集」ダイアログが表示され、「定義」タブ、「条件」タブおよび「アクション」タブが示されます。

  3. ブレークポイント・オプションに必要な変更を加えます。

    「定義」および「アクション」タブの詳細を参照するには、「ヘルプ」をクリックしてください。

  4. 変更を保存するため、「OK」をクリックします。

57.5.2 ブレークポイント・グループの作成方法

ブレークポイント・グループを作成することで、ブレークポイントに対して一括編集を実行できます。グループを作成すると、新しいノードが「ブレークポイント」ウィンドウに追加され、グループに追加されたブレークポイントがそのグループ・ノードの下に表示されます。

57.5.2.1 ブレークポイント・グループの作成

ブレークポイント・グループを作成するには:

  1. 「ブレークポイント」ウィンドウが開いていない場合は、メイン・メニューから「ウィンドウ」「ブレークポイント」を選択します。
  2. ブレークポイントを右クリックして「編集」を選択するか、またはブレークポイントを選択して、ブレークポイント・ツールバーの「編集」アイコンをクリックします。

    「ブレークポイントの編集」ダイアログが現れ、「定義」タブが表示されます。

  3. 「ブレークポイントのグループ名」フィールドにグループの新しい名前を入力します。
  4. 変更を保存するため、「OK」をクリックします。

    新しいグループが「ブレークポイント」ウィンドウに追加され、ブレークポイントがそのグループに追加されます。

57.5.2.2 既存のグループへのブレークポイントの追加

ブレークポイントを既存のグループに追加するには:

  1. 「ブレークポイント」ウィンドウが開いていない場合は、メイン・メニューから「ウィンドウ」「ブレークポイント」を選択します。
  2. ブレークポイントを右クリックして「編集」を選択するか、またはブレークポイントを選択して、ブレークポイント・ツールバーの「編集」アイコンをクリックします。

    「ブレークポイントの編集」ダイアログが現れ、「定義」タブが表示されます。

  3. 「ブレークポイントのグループ名」フィールドで、ブレークポイントを追加するグループの名前を選択します。
  4. 変更を保存するため、「OK」をクリックします。

57.5.3 ブレークポイントを削除または無効にする方法

個々のブレークポイントまたはすべてのブレークポイントを無効化するか、または削除できます。

ブレークポイントを削除または無効化するには:

  1. 個々のブレークポイントを削除するには、パイプラインまたは分割-結合エディタでブレークポイントに関連付けられたアクションを右クリックし、「ブレークポイントの設定」を選択します。また、「ブレークポイント」ウィンドウでブレークポイントを選択して、「削除」をクリックすることもできます。例外ブレークポイントは、「ブレークポイント」ウィンドウを使用して削除する必要があります。
  2. すべてのブレークポイントを削除するには、「ブレークポイント」ウィンドウを右クリックし、「すべて削除」を選択します。
  3. 個々のブレークポイントを無効にするには、パイプラインまたは分割-結合エディタでブレークポイントに関連付けられたアクションを右クリックし、「ブレークポイントを無効化」を選択します。また、「ブレークポイント」ウィンドウでブレークポイントを選択して、「無効化」をクリックすることもできます。例外ブレークポイントは、「ブレークポイント」ウィンドウを使用して無効化する必要があります。
  4. すべてのブレークポイントを無効にするには、「ブレークポイント」ウィンドウを右クリックし、「すべて無効化」を選択します。

57.5.4 無効なブレークポイントを有効にする方法

ブレークポイントを無効にした場合、それを再度有効にして、デバッグ・プロセスに含めることができます。

ブレークポイントを有効にするには:

  1. 個々のブレークポイントを有効にするには、パイプラインまたは分割-結合エディタでブレークポイントに関連付けられたアクションを右クリックし、「ブレークポイントの有効化」を選択します。また、「ブレークポイント」ウィンドウでブレークポイントを選択して、「有効化」をクリックすることもできます。例外ブレークポイントは、「ブレークポイント」ウィンドウを使用して有効化する必要があります。
  2. 設定されているすべてのブレークポイントを有効にするには、「ブレークポイント」ウィンドウを右クリックし、「すべて有効化」を選択します。

57.5.5 現在のブレークポイントの変数値の表示および変更方法

「データ」ウィンドウには、現在のブレークポイントのコンテキスト変数とその値が表示されます。デバッグ・プロセス全体を通じたリクエストまたはレスポンス・データを表示し、さらにデバッグするためにそれらの値を変更できます。単純型の変数値のみを変更できます。

変数値を表示および変更するには:

  1. デバッグを開始し、デバッガがブレークポイントに達した時点で、「ログ」ウィンドウの「データ」タブをクリックします。
  2. 「名前」列で変数を開き、各変数とノードの値を表示します。
  3. 変数値を変更するには、値をダブルクリックし、表示されたダイアログに新しい値を入力します。
  4. 変数値を定義する文字列全体を表示するには、変数を右クリックして、「全値の表示」を選択します。

57.5.6 監視の追加方法

ウォッチを使用して、プログラムの実行につれて変化する変数や式の値をモニターできます。ウォッチ式を入力後、「ウォッチ」ウィンドウに式の現在の値が表示されます。プログラムの実行に伴い、プログラムがウォッチ式の変数の値を更新すると、ウォッチの値も変化します。

ウォッチは、「スタック」ウィンドウでの選択によって制御される現在のコンテキストに従って式を評価します。新しいコンテキストに移動すると、式は新しいコンテキストに応じて再評価されます。ウォッチ式内の変数が定義されていない位置に実行ポイントが移動すると、ウォッチ式全体が未定義となります。ウォッチ式が評価可能な位置に実行ポイントが戻ると、「ウォッチ」ウィンドウに再度ウォッチ式の値が表示されます。

ウォッチを追加するには:

  1. デバッグを開始し、デバッガがブレークポイントに達した時点で、「ログ」ウィンドウの「データ」タブをクリックします。
  2. 「名前」列で、モニターする変数が表示されるまでノードを開きます。
  3. 変数を右クリックして、「ウォッチ」を選択します。

    「ウォッチ」ウィンドウが開き、選択された変数のウォッチを定義する新しい行が示されます。