intra-mart Accel Platform IM-LogicDesigner ユーザ操作ガイド 第11版 2023-10-01

4.4.1. ロジックフローをデバッグする

ここでは「ロジックフロー定義のデバッグ」画面を表示し、実際にデバッグを行う方法を説明します。

4.4.1.1. デバッグ画面を表示する

ロジックフローのデバッグは「ロジックフロー定義編集」画面上部のツールバーのリンクから行います。
  1. 画面上部のツールバー内、「デバッグ」をクリックします。

    ../../../../_images/display_debug1.png
  2. 「ロジックフロー定義のデバッグ」画面がポップアップで表示されます。

    ../../../../_images/display_debug2.png

4.4.1.2. デバッグ画面の詳細

デバッグ画面は、用途に応じて複数のペイン(区画)に分かれています。
各ペインの詳細は以下の通りです。
../../../../_images/debug_detail.png

<画面項目>

項目(番号) 説明
1
ロジックフローの実行・中断や、各種ペインの表示・非表示を切り替えることができるツールバーです。
2
デバッグを行うロジックフローの確認と、デバッグ実行時に処理をサスペンドするためのブレイクポイントの設定を行うロジックフロー確認ペインです。
なお、この画面上でのロジックフローの編集は行えません。
3
ロジックフロー確認ペイン(項番2)上で選択したエレメントの詳細を表示するプロパティペインです。
ロジックフロー確認ペインと同様に、プロパティペイン内での設定変更は行えません。
ただし、「ブレイクポイントを利用してデバッグを行う」で説明しているブレイクポイントの設定のみ、プロパティペイン内でも可能です。
4
ロジックフローをデバッグ実行する上で関わる全ての変数情報の表示、および、編集を行えるフロー定義の変数情報ペインです。
このペインで確認可能な変数情報は以下の通りです。
  • デバッグ実行時に渡す入出力の値
  • 各エレメントの入出力の返す値
  • 定数値・変数といった事前に定義されている値
5
デバッグ画面上の処理情報がログとして出力されるコンソールペインです。
各ペインの詳細は以下の通りです。

4.4.1.2.1. デバッグツールバー

../../../../_images/detail_debug_menu.png

<画面項目>

項目 説明
「実行」ボタン
デバッグの実行を行うための入力値を設定するダイアログを表示します。
「ステップ実行」ボタン
デバッグのステップ実行を行うための入力値を設定するダイアログを表示します。
「中止」ボタン
デバッグの実行を中止します。
中止ボタンはステップ実行中、および、ブレイクポイントによる処理のサスペンド(中断)が行われている場合のみ利用可能です。
-/100%/+
ロジックフロー確認ペインの拡大、および、縮小を行います。
「セッション情報出力」ボタン
フロー定義の状態が保存されているセッション情報をコンソールペインに出力します。
この機能はロジックフローデバッグ実行前には利用できません。
「プロパティ」ボタン
プロパティペインの表示/非表示を切り替えます。
ボタンをクリックすることによって、表示 -> 非表示が順番に行われます。
「変数情報」ボタン
変数情報ペインの表示/非表示を切り替えます。
ボタンをクリックすることによって、全画面表示 -> 非表示 -> 表示が順番に行われます。
「コンソール」ボタン
コンソールペインの表示/非表示を切り替えます。
ボタンをクリックすることによって、全画面表示 -> 非表示 -> 表示が順番に行われます。

4.4.1.2.2. ロジックフロー確認ペイン

../../../../_images/detail_logic_flow_confirm_pane.png

<画面項目>

項目 説明
フロー確認ペイン
デバッグの実行を行うロジックフローの全体像を確認できます。
エレメント
エレメントを選択状態にすることで、プロパティペインに選択しているエレメントのプロパティ情報が表示されます。
また、エレメントをダブルクリックすることでブレイクポイントを設定できます。
ブレイクポイント設定中のエレメントには、右上に停止アイコン( breakpoint_icon )が表示されます。
ブレイクポイントを利用したデバッグの実行の詳細は「ブレイクポイントを利用してデバッグを行う」を参照してください。

4.4.1.2.3. プロパティペイン

../../../../_images/detail_properties_pane.png

<画面項目>

項目 説明
タスク種別
エレメントのプロパティを設定する」 - 「エレメントのプロパティ詳細」のタスク種別と同様の内容が表示されます。
基本設定
エレメントのプロパティを設定する」 - 「エレメントのプロパティ詳細」の基本設定と同様の内容が表示されます。
タスク設定 - ブレイクポイント(チェックボックス)
チェックボックスをオンにすると、対象のエレメントにブレイクポイントを設定できます。
ブレイクポイント設定中のエレメントには、右上に停止アイコン( breakpoint_icon )が表示されます。
ブレイクポイントを利用したデバッグの実行の詳細は「ブレイクポイントを利用してデバッグを行う」を参照してください。
エレメントが選択状態でない場合、プロパティペインにはロジックフロー自体の情報が表示されます。
../../../../_images/detail_flow_properties_pane.png

図:未選択状態のプロパティペイン

4.4.1.2.4. 変数情報ペイン

../../../../_images/detail_variables_information_pane.png

<画面項目>

項目 説明
変数名(カラム)
ロジックフローを実行した際にフロー定義上で扱われた変数名が一覧で表示されます。
変数名をクリックすることで選択状態に、ダブルクリックすることで「値の編集」ダイアログが表示されます。
また、変数名の左部にあるアイコンをクリックすることで、お気に入りの切り替えが行えます。
変数値(カラム)
ロジックフローを実行した際にフロー定義上で扱われた変数値が一覧で表示されます。
変数値をダブルクリックすることで「値の編集」ダイアログが表示されます。
お気に入り切替
選択状態の変数をお気に入りとして設定します。
また、既にお気に入りの場合は解除します。
この機能によってお気に入り設定した変数は、「お気に入りのみ表示切り替え( favorite_icon )ボタン」項目によって表示をフィルタリングできます。
これにより、デバッグ実行時に特に注視したい変数などを効率よく確認できます。
値を編集
選択状態の変数について、値の編集ダイアログを表示します。
全て元に戻す
「値の編集」項目などを利用して行われた全ての変更を元に戻します。
お気に入りのみ表示切り替え( favorite_icon )ボタン
「お気に入り切替」項目などでお気に入り設定が行われた変数のみの表示にフィルタリングを掛けます。
既にお気に入りのみの表示が行われている場合は、通常表示に切り替えます。
+/-
表示されている全ての変数ツリーの開閉を行います。

4.4.1.2.5. コンソールペイン

../../../../_images/detail_console_pane.png

<画面項目>

項目 説明
コンソール
デバッグ画面上の処理情報がログとして出力されるコンソールです。
処理情報として具体的に以下の情報が出力されます。
  • デバッグ実行時に設定した入力値
  • デバッグを行っているフローの内部値(フローIDやバージョン情報など)
  • 実行中のエレメントの内部値(実行IDやタスクIDなど)
  • エラー発生時のスタックトレース
  • セッション情報の出力内容

4.4.1.3. デバッグの実行を行う

デバッグの実行を行うには、デバッグツールバー内の「実行」ボタンをクリックします。
  1. デバッグ画面を表示する」の手順をもとに「ロジックフロー定義のデバッグ」画面を表示します。

  2. 「実行」ボタンをクリックします。

    ../../../../_images/execute_debug1.png
  3. 「デバッグの実行」ダイアログが表示されます。

    ../../../../_images/execute_debug2.png

    <画面項目>

    項目 説明
    入力名(カラム)
    ロジックフローのデバッグを行う際に必要な入力名が一覧で表示されます。
    この内容は「入出力/変数/定数を設定する」 - 「入出力を設定する」で設定した入力値が反映されます。
    入力値(カラム)
    ロジックフローのデバッグを行う際に必要な入力値が一覧で表示されます。
    初期状態では全ての値がnullに設定されています。
    この値は、デバッグ実行が行われるごとにその際設定された内容が保持されます。
    値を編集
    選択状態の入力値について、値の編集ダイアログを表示します。
    JSON入力
    入力値の設定をJSONを利用して行う「JSONの入力」ダイアログが表示されます。
    詳細は「入力値のJSON入力設定」を参照してください。
    「実行」ボタン
    設定された入力値をもとにデバッグを開始します。
    「取り消し」ボタン
    デバッグを中断します。
    デバッグを中断した場合、それまで設定していた入力値情報は保持されません。
  4. デバッグを行うための値を設定します。

    ../../../../_images/execute_debug3.png
  5. 「実行」ボタンをクリックします。

    ../../../../_images/execute_debug4.png
  6. 確認ダイアログの「決定」をクリックします。

  7. デバッグが開始されます。
    正常にデバッグが終了した場合、その旨のメッセージが表示され、変数情報ペイン、および、コンソールペインが更新されます。
    ../../../../_images/execute_debug5.png

4.4.1.3.1. 入力値のJSON入力設定

../../../../_images/json_input_parameter.png

<画面項目>

項目 説明
JSON
設定する入力値の元となるJSONを入力します。
既に「値の編集」項目などを利用して入力値が設定済みの場合にはその内容が一部反映されます。
この項目は必須項目です。
JSON入力による入力値の設定では、IM-LogicDesignerが対応しているデータ型であっても、一部入力に対応していない、または、本来のデータ型とは異なる値が設定される場合があります。
詳細は以下の通りです。
  1. JSONによる入力が可能

    • String
    • Integer
    • Boolean
    • Byte
    • Character
    • Short
    • Long
    • Double
    • Float
    • Object
  2. 特殊な型としてJSONによる入力が可能

    1. 文字列として定義することで入力が可能

      • BigDecimal
      • BigInteger
    2. ISO8601形式での入力のみ可能

      • Date
      • Calendar
      • IM Datetime
      • SQL Date
      • SQL Timestamp
    3. その他

      • Map
      • SQL Clob
  3. JSONによる入力は不可
    以下の値がJSON入力設定から定義された場合、IM-LogicDesignerは定義された値を無視します。
    • Locale
    • Timezone
    • Binary
    • Storage

コラム

BigInteger, BigDecimal のJSON上での取り扱いについて

BigInteger, BigDecimal は本来数値型ですが、JSONによる入力の制約上文字列として定義していただく必要があります。
具体的にはJSONは32bitを超える数値を入力できないため、それを超える場合正しく入力値を解釈出来ない可能性があるためです。

4.4.1.4. デバッグのステップ実行を行う

IM-LogicDesignerでは通常のデバッグ実行の他に、処理をエレメントごとにサスペンドしながらデバッグを行うステップ実行をサポートしています。
デバッグのステップ実行を行うには、デバッグツールバー内の「ステップ実行」ボタンをクリックします。
  1. デバッグ画面を表示する」の手順をもとに「ロジックフロー定義のデバッグ」画面を表示します。

  2. 「ステップ実行」ボタンをクリックします。

    ../../../../_images/execute_step1.png
  3. 「デバッグの実行」ダイアログが表示されます。

    ../../../../_images/execute_step2.png
  4. 「デバッグの実行」ダイアログ、および、デバッグ実行までの流れは「デバッグの実行を行う」と同様です。

  5. デバッグのステップ実行が開始されます。
    正常に一番目のエレメント(「開始」制御要素)のデバッグが終了した場合、「開始」制御要素と次の処理対象のエレメントの間で処理がサスペンドします。
    そして、ロジックフロー確認ペインに、処理がサスペンドしたことを表す矢印が表示されます。
    ../../../../_images/execute_step3.png

    コラム

    ステップ実行を行う場合、処理がサスペンドするごとに変数情報ペイン、および、コンソールペインが更新されます。

    コラム

    ステップ実行時の変数情報について

    ロジックフローのデバッグ機能では、実行途中で特定の変数の値を編集することが可能です。
    詳細は「デバッグ中に変数操作を行う」を参照してください。
  6. 再度「ステップ実行」ボタンをクリックします。

    ../../../../_images/execute_step4.png
  7. 二番目のエレメントの処理が行われ、処理終了後サスペンドします。

    ../../../../_images/execute_step5.png
以降、「ステップ実行」ボタンのクリックを繰り返すことでロジックフローのステップ実行が行われます。
なお、途中でステップ実行をやめ最後まで処理を進める場合は、「実行」ボタンをクリックすることでサスペンドせずに最後まで処理が進みます。

4.4.1.4.1. デバッグ中に変数操作を行う

  1. ステップ実行などを利用し、デバッグの途中で処理をサスペンドします。

  2. サスペンドした状態で、変数情報ペインを表示します。

    ../../../../_images/edit_variables1.png
  3. 変数操作を行いたい変数を選択します。

    ../../../../_images/edit_variables2.png
  4. 「値の編集」をクリックし、「値の編集」ダイアログを表示します。
    値の編集ダイアログでは現在定義されている値が表示されます。
    ../../../../_images/edit_variables3.png
  5. 任意の値の変更し、「決定」をクリックします。

    ../../../../_images/edit_variables4.png
  6. 変数操作が行われ、値が変更されました。
    変更が行われた入力値は太字(ボールド)で表現されます。
    ../../../../_images/edit_variables5.png
変数操作後デバッグを再開すると、以降は変更後の値でデバッグ処理が行われます。