メインコンテンツまでスキップ

ロジックフローのデバッグ

ここでは、ロジックフローのデバッグ方法について説明します。

基本操作

作成したロジックフローの動作や値の流れを検証するために、デバッグを実行します。ロジックフローのデバッグでは、実行時に渡す入力値や出力値、各エレメントが返す値、さらに事前に定義されている定数や変数の内容まで詳細に確認できます。

ロジックフローのデバッグを実行する

  1. 上書き保存]をクリックします。
    └ ロジックフローが現在のバージョンに上書き保存されます。
  2. デバッグ]をクリックします。
    └ 「ロジックフロー定義のデバッグ」画面が表示されます。
  1. 実行]をクリックします。
    └ 「デバッグの実行」ダイアログが表示されます。
その他の操作
  • エレメント単位で処理を一時停止しながら確認したい場合は、[ステップ実行]をクリックしてください。
  • ステップ実行中にデバッグを中止したい場合は、[中止]をクリックしてください。
メモ

ロジックフローを保存せずに[デバッグ]をクリックすると、デバッグに使用するフローを選択する「デバッグ」ダイアログが表示されます。

  • 保存してデバッグ」を選択した場合:
    現在の変更内容を保存した上で、そのフローでデバッグを実行します。
    保存方法は次の3種類から選択します。
    • 上書き保存
      現在の変更内容を上書き保存します。
    • 基本情報を変更して保存
      新しいバージョン、または基本情報を変更して保存します。
    • 別のフローIDで保存
      別のコンテンツIDと基本情報を設定して保存します。
  • 保存せずにデバッグ」を選択した場合:
    前回保存されたフローでデバッグを実行します。
    ※現在の変更内容は保存されません。

    なお、この時点で一度もフローを保存していない場合は、フローの初期状態(「開始」と「終了」タスクのみが配置された状態)がデバッグの対象となりますが、この状態ではフロー定義が不完全なため、デバッグを実行できません( 「ロジックフロー定義のデバッグ」画面にエラーメッセージが表示されます)。

上記のいずれかを選択した後、[デバッグ画面を開く]をクリックすると、「ロジックフロー定義のデバッグ」画面が表示されます。

  1. 値を編集]をクリックします。
    └ 「デバッグの実行」ダイアログには、入出力設定の入力値が表示されています。
    └ デバッグで確認したい内容に応じて、入力値の欄に適切な値を入力してください。
  2. 実行]をクリックします。
    └ 「確認」ダイアログで[決定]をクリックします。
    └ 「ロジックフロー定義のデバッグ」画面にデバッグ結果が表示されます。
その他の操作
  • 入力値をJSON形式で定義したい場合は、[JSON入力]をクリックしてください。JSON入力では、一部対応していないデータ型や異なるデータ型が設定される場合があります。詳細は「IM-LogicDesigner仕様書 - 4.3.14. JSON上でのデータの表現」を参照してください。
  • 入力値を取り消したい場合は、[クリア]をクリックしてください。

ツールバーの操作とペイン表示

「ロジックフロー定義のデバッグ」画面では、用途に応じてコンソールペインに情報を出力したり、特定のペインの表示形式を変更したりできます。

セッション情報の出力

セッション情報出力]をクリックすると、デバッグを実行後に、ロジックフロー定義の状態が保存されているセッション情報をコンソールペインに表示できます。セッション情報には、実行中の各エレメントに渡される入出力値や変数などが含まれています。エラーが発生した場合、どの時点でどの値が設定されていたかを確認できます。

たとえば、セッション情報の一部を抜粋すると、以下の内容が記載されています。

{
"type": "sessionData",
"editable": false,
"value": {
"$account_context": {
"type": "jp_co_intra_mart_system_logic_flow_context_AccountContextWrapper",
"editable": false,
"value": {
"authenticated": {
"type": "boolean",
"editable": false,
"value": "true",
"invalid": false
},
...
}
}
}
}

このセクションでは、現在のユーザのアカウント情報を保持しています。authenticatedはユーザが認証済みかどうかを示す真偽値で、この場合はtrueとなっており、ユーザはログイン済みであることがわかります。また、各項目は編集不可editable: falseとなっており、セッション中に値が変更されることはありません。

セッション情報を確認する場合は、[コンソール]をクリックして全画面表示にすると便利です。

コンソールペインの表示・非表示

コンソールペインには、デバッグ画面での処理情報がログとして出力されます。表示される主な内容は以下のとおりです。

  • デバッグ実行時に設定した入力値
  • デバッグ対象のフローに関する内部情報(フローIDやバージョン情報など)
  • 実行中のエレメントに関する内部情報(実行IDやタスクIDなど)
  • エラー発生時のスタックトレース
  • セッション情報の内容

プロパティペインの表示・非表示

プロパティペインには、フローの定義情報やエレメントの基本設定などが表示されます。[プロパティ]をクリックすると、表示・非表示を切り替えることが可能です。フローを大きく表示したい場合は、プロパティペインを非表示にしてください。

変数情報ペインの表示・非表示

変数情報ペインには、ロジックフローを実行した際にフロー定義上で扱われた変数名や値が一覧で表示されます。[変数情報]をクリックすると、全画面表示→非表示→表示という順番で切り替えることが可能です。変数の値を編集したい場合は、全画面表示にすると便利です。

コラム

IM-LogicDesignerでは、画面からフローを実行して動作を確認するデバッグ機能のほかに、ロジックフロー実行時の詳細な処理内容をログとして確認できるデバッグログも利用できます。デバッグ機能が主に開発中の動作確認に利用されるのに対し、デバッグログは開発・検証・運用時の実行結果の調査やトラブルシュートに利用できます。詳細は「ロジックのデバッグ操作(ケース別)」を参照してください。


次のステップへ:新規ロジックフロー定義の保存

ロジックフローのデバッグが完了したら、フロー全体の設定を行い、再度フローを保存しましょう。「新規ロジックフロー定義の保存」では、フロー全体の設定方法や、上書き保存以外の保存方法について説明します。

応用操作

ロジックフローのデバッグには基本的な操作に加えて、次のような応用的な操作も可能です。必要に応じて確認してください。

ステップごとにデバッグを実行する

エレメント単位で処理を一時停止しながら確認したい場合は、ステップ実行によるデバッグを利用します。これにより、各エレメントの入出力値や分岐の動作を細かく追跡でき、期待通りに処理が進んでいるかを1つずつ確認できます。

  1. ステップ実行]をクリックします。
    └ 「デバッグの実行」ダイアログが表示されます。
  2. 値を編集]をクリックします。
    └ 入出力設定の入力値が表示されています。
    └ 確認したい内容に合わせて適切な値を入力してください。
  1. 実行]をクリックします。
    └ 「確認」ダイアログで[決定]をクリックします。
    └ デバッグのステップ実行が開始されます。
  2. コンソールペインと変数情報ペインの内容を確認します。
    └ 矢印の位置は、その1つ前のエレメントがデバッグ終了したことを示します。
    └ コンソールペインには現在の実行状況が表示されます。
    └ 変数情報ペインでは、変数の値が確認・編集できます。

  1. コンソールペインと変数情報ペインの内容を確認します。
  2. 問題がなければ、[ステップ実行]をクリックします。
    └ 次のエレメントのデバッグが実行されます。

(手順5・6の操作を繰り返し行います)

その他の操作

ステップ実行によるデバッグを中止したい場合は、[中止]をクリックしてください。

デバッグ実行中に変数を操作する

ステップ実行によるデバッグで処理を一時停止している間に変数の値を変更すると、その変更内容が即時に反映され、不具合の原因切り分けや動作検証を行うことができます。特に、複雑なフローの場合では、デバッグを最初からやり直す必要がないため、効率的にデバッグを進めることができて便利です。

コラム

デバッグ中に変数の値を変更しても、実際のソースコードやユーザ環境のデータには影響しません。変更内容は、デバッグ実行中のみに有効です。

  1. 編集したい変数を選択します。
  2. 値を編集]をクリックします。
    └ 「値の編集」ダイアログが表示されます。
  3. 確認したい内容に合わせて、変数の値を変更します。
    └ 画面に表示される項目はデータ型によって異なります。
  1. 決定]をクリックします。
    └ 変数情報ペインに変更された値が太字で表示されます。
  2. ステップ実行]をクリックします。
    └ 変更された値でデバッグが実行されます。
その他の操作
  • デバッグ実行時に特に注目したい変数がある場合は、変数を選択した状態で[お気に入り切替]をクリックしてください。画面の右側にある[ ]をクリックすると、お気に入りに設定した値のみ表示します。
  • 編集した値を初期状態に戻したい場合は、[全て元に戻す]をクリックしてください。すべての変更がリセットされます。

ブレイクポイントを利用してデバッグを実行する

ロジックフロー内の特定のノードで処理を一時停止し、処理内容を確認したい場合はブレイクポイントを設定します。これにより、ステップ実行や変数の確認を自在に行うことができ、デバッグ作業をより効率的に進めることができます。

  1. 設定したいエレメントをクリックします。
    └ プロパティに「タスク設定」が表示されます。
  2. ブレイクポイントの「このタスクで一時停止する」にチェックを入れます。
    └ エレメントの右上に、ブレイクポイントが設定されたことを示す が表示されます。
    └ ブレイクポイントは複数のエレメントに設定できます。
  1. 実行]をクリックします。
    └ 「デバッグの実行」ダイアログが表示されます。

  1. 値を編集]をクリックします。
    └ 入出力設定の入力値が表示されています。
    └ 確認したい内容に合わせて適切な値を入力してください。
  2. 実行]をクリックします。
    └ 「確認」ダイアログで[決定]をクリックします。
  1. 設定したブレイクポイントで、処理が一時停止します。
    └ 上記「ツールバーの操作とペイン表示」を参照し、状態を確認します。
  2. 実行]または[ステップ実行]をクリックします。
  • 次のブレイクポイントまたは終了まで進めたい場合:[実行]をクリック
  • 処理を1つずつ進めたい場合:[ステップ実行]をクリック
コラム

ブレイクポイントは、異常系や条件分岐、繰り返し処理の開始など、値や処理の流れを丁寧に確認したい箇所に設定すると効果的です。これにより、変数がどのように変化しているか、実際にどの分岐へ進んでいるかをピンポイントで把握できます。また、繰り返し処理の内部で挙動を確認したい場合にも非常に有効で、意図した通りに処理が進んでいるかを詳細に検証できます。