5.5. ロジックフローのデバッグ¶
5.5.1. ロジックフローのデバッグ機能とは¶
- 作成したロジックフローが特定の入力で必ず失敗する(どのエレメントで失敗しているのか特定したい)。
- あるタスクが想定とは違う処理を行う(そのタスクへ渡される実際の入力値と出力値を確認したい)。
- 条件分岐や繰り返し処理が正しく動作していない(制御結果を確認したい)。
5.5.2. デバッグ画面を表示する¶
- 「サイトマップ」→「LogicDesigner」→「フロー定義一覧」から、ロジックフロー定義一覧を開きます。左ペインのツリーから「チュートリアルカテゴリ」の開閉アイコンをクリックしカテゴリ配下を情報を表示します。フロー定義「チュートリアルフロー」を選択し編集ボタンをクリックします。
- ロジックフロー定義編集画面上部、ヘッダ内の「デバッグ」をクリックします。
- ロジックフロー定義のデバッグ画面が新規にポップアップして表示されます。
5.5.3. デバッグ画面の詳細¶
フローの実行・中断や、各種ペインの表示・非表示を切り替えることができるメニューヘッダです。
- デバッグを行うロジックフローの確認と、デバッグ実行時に処理をサスペンドするためのブレイクポイントの設定ができる「ロジックフロー確認」ペインです。なお、あくまでフローの確認が主であるため、この画面上でのロジックフローの編集は行えません。
- 「ロジックフロー確認」ペイン上で選択したエレメントの詳細を表示する「タスク情報」ペインです。「ロジックフロー確認」ペインと同様に確認が主であるため、タスク情報ペイン内での設定変更は行えません。ただし、後述の「応用:ブレイクポイントを利用したデバッグ実行」で説明しているブレイクポイントの設定のみ、タスク情報ペイン内でも可能です。
- ロジックフローをデバッグ実行する上で関わる全ての変数情報の表示、および、編集ができる「フロー定義の変数情報」ペインです。このペインで確認可能な変数情報は以下の通りです。
- デバッグ実行時に渡す入出力値
- 各エレメントの入出力の返す値
- 定数値・変数といった事前に定義されている値
- デバッグ画面上の処理情報がログとして出力される「コンソール」ペインです。
5.5.4. ロジックフローをデバッグ実行する¶
デバッグ画面を開きます。
メニューヘッダ内の「実行」をクリックします。
デバッグ実行を行う上で必要な「入力値の設定」項目が表示されます。
入力<object>配下のmessage<string>をクリックし、選択状態にします。
値一覧の左上の「値の編集」をクリックします。
- 値の編集を行う画面が表示されるので、入力欄に以下の値を設定します。(値の設定を行うことで、自動で画面上部の「値の入力」ラジオボタンがオンになることを確認してください)
値の編集画面下部の「決定」をクリックします。
message<string>へ、設定した値が反映されていることを確認し、画面下部の「実行」をクリックします。
デバッグの開始を確認するダイアログが表示されるので、「決定」をクリックします。
ロジックフローが実行が完了した旨のメッセージが表示され、実行結果が「フロー定義の変数情報」、および、「コンソール」に反映されます。
5.5.5. デバッグ実行の結果を確認する¶
- ロジックフローデバッグ実行時に各種変数へ割り当てられた値
- ロジックフローの実行情報
5.5.5.1. デバッグ実行時に各種変数へ割り当てられた値の確認¶
フロー定義の変数情報を確認しやすくするため、以下を実施します。
「フロー定義の変数情報」ペイン内において、変数と値が以下のとおり設定されていることを確認してください。
- 「入力」 - 「入出力設定を定義する」で設定した入力値(message)と、「ロジックフローをデバッグ実行する」で実行時に指定した設定値。
- 「出力」 - 「入出力設定を定義する」で設定した出力値(result)と、正常実行されたことを表すフラグ(true)。
- 「定数」 - 「定数値を定義する」で設定した定数値、および、その値。
5.5.5.2. 実行情報の確認¶
フロー定義の実行情報を確認しやすくするため、以下を実施します。
「コンソール」ペイン内において、以下の内容が出力されていることを確認してください。
コラム
エラーが発生した場合のコンソール
5.5.6. ロジックフローを順番にデバッグ実行する(ステップ実行)¶
5.5.6.1. ロジックフローのステップ実行¶
デバッグ画面を開きます。
メニューヘッダ内の「ステップ実行」をクリックします。
- デバッグ実行を行う上で必要な「入力値の設定」項目が表示されます。ここでは、「ロジックフローをデバッグ実行する」と同様の手順で値を設定します。
画面下部の「実行」をクリックします。
デバッグの開始を確認するダイアログが表示されるので、「決定」をクリックします。
ロジックフローが実行され、「開始」制御要素と「ログ出力」タスクの間で処理がサスペンドしたことを表す矢印が表示されます。
処理が「ログ出力」タスクの直前でサスペンドしていることを以下より確認してください。
- 「コンソール」ペインには、フローが実行されたことを示すログのみが出力されている。
- サーバのコンソールには、「ログ出力」タスクによるログが出力されていない。
再度「ステップ実行」をクリックします。
ロジックフローが再実行され、「ログ出力」タスクと「テキストメール送信」タスクの間に処理がサスペンドしたことを表す矢印が移動します。
処理が「テキストメール送信」タスクの直前でサスペンドしていることを以下より確認してください。
- 「コンソール」ペインには、「ログ出力」タスクの実行までのログが出力されている。
- サーバのコンソールに、入力値として設定した「IM-LogicDesigner Now Debug!!」が表示されている。
- 「テキストメール送信」タスクに関する処理結果が確認されていない。
5.5.6.2. 実行途中での変数の編集¶
「フロー定義の変数情報」ペインを表示します。
入力に設定されている、「IM-LogicDesigner Now Debug!!」文字列をダブルクリックします。
「値の編集」画面が表示されます。
入力欄に以下の値を設定します。
値の編集画面下部の「決定」をクリックします。
message<string>へ、設定した値が反映されていることを確認し、再度「ステップ実行」をクリックします。
ロジックフローが再実行され、「テキストメール送信」タスクと「終了」制御要素の間に処理がサスペンドしたことを表す矢印が移動します。
処理が「終了」制御要素の直前でサスペンドしていることを以下より確認してください。
- 「コンソール」ペインには、「テキストメール送信」タスクの実行までのログが出力されている。
- テキストメールが送信され、その本文には「IM-LogicDesigner Debug Suspended!!」の文字列が設定されていること。
再度「ステップ実行」をクリックします。
全ての実行処理が完了し、画面上部にロジックフローが実行が完了した旨のメッセージが表示されます。
コラム
メールの送信環境が無い場合
5.5.7. 応用:ブレイクポイントを利用したデバッグ実行¶
デバッグ画面を開きます。
「ロジックフロー確認」ペイン上の「テキストメール送信」タスクを選択します。
「タスク情報」ペイン下部、タスク設定の項目を以下のとおりに変更します。
「テキストメール送信」タスクの右上に、ブレイクポイントが設定されたことを表す停止マークが設定されたことを確認してください。
メニューヘッダ内の「実行」をクリックし、「ロジックフローをデバッグ実行する」と同様の手順で値を設定します。
画面下部の「実行」をクリックします。
デバッグの開始を確認するダイアログが表示されるので、「決定」をクリックします。
ロジックフローが実行され、「ログ出力」タスクと「テキストメール送信」タスクの間に処理がサスペンドしたことを表す矢印が表示されます。
処理が「テキストメール送信」タスクの直前でサスペンドしていることを以下より確認してください。
- 「コンソール」ペインには、「ログ出力」タスクの実行までのログが出力されている。
- サーバのコンソールに、入力値として設定した「IM-LogicDesigner Now Debug!!」が表示されている。
- 「テキストメール送信」タスクに関する処理結果が確認されていない。
再度「実行」をクリックします。
全ての実行処理が完了し、画面上部にロジックフローが実行が完了した旨のメッセージが表示されます。