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

デバッガーの使い方

デバッグについて

デバッグとは、プロジェクト内のエラーを特定して修正するプロセスです。akaBot Studio には、実行を任意の時点で一時停止し、ワークフローをアクティビティごとに追跡し、すべての変数と引数の値を逐一確認できるツール セットが用意されています。

ログ機能と組み合わせることで、デバッグはオートメーションが実行時に何をしているかを完全に可視化し、プロジェクトを公開する前に問題の根本原因を特定できるようにします。

デバッグ中、akaBot Studio は現在実行中のアクティビティをハイライト表示し、ローカルブレークポイントウォッチ の各パネルをリアルタイムで更新します。これにより、ワークフローのどこにいるか、どのデータが処理されているかを常に把握できます。

注意: デバッグは常に、akaBot Studio がインストールされているローカル マシン上でプロジェクトを実行します。リモート デバッグはサポートされていません。

デバッグの開始

プロジェクトのデバッグを開始するには、Studio リボンの デバッグ をクリックします。

debug

スタート でプロジェクトを実行する場合とは異なり、デバッグではワークフローをアクティビティごとに追跡し、変化する変数を確認できます。ただし、デフォルトでは、デバッグ セッションは スタート と同様にワークフローをそのまま実行し、ブレークポイントが設定されたアクティビティに到達したときのみ一時停止して、そのアクティビティを黄色いボーダーでハイライト表示します。特定の時点で一時停止させる方法については、下記の ブレークポイントの設定 を参照してください。

デバッグの実行中は、以下のアクションが利用可能になります:

  • 続行 — 次のブレークポイントに到達するか、プロジェクトが完了するまで実行を再開します。
  • 停止 — デバッグ セッションを即時終了します。

デバッグ アクション

デバッグ セッションがアクティブな間、Debug リボンでは以下のアクションが利用できます:

debug-actions-ribbon

アクション説明
ブレークポイント選択したアクティビティのブレークポイントを切り替えたり、プロジェクト内のすべてのブレークポイントを削除したりするメニューを開きます。下記の ブレークポイントの設定 を参照してください。
ステップ イン現在のアクティビティを実行して次のアクティビティで一時停止します。コンテナ(シーケンスフローチャートワークフロー ファイルの呼び出し など)を開いて、内部のアクティビティを 1 つずつデバッグできます。
ステップ オーバーコンテナを開かずに、現在のアクティビティ全体を実行して同じレベルの次のアクティビティで一時停止します。コンテナの内容を信頼していて、その周囲のアクティビティだけをステップ実行したい場合に使用します。
スロー ステップコンテナを自動的に開き、各アクティビティの実行をハイライト表示しながら、プロジェクトを継続的に実行します。毎ステップ後にアクションを押す必要がありません。大規模なワークフローの実行フローを視覚的に追跡するのに便利です。

ログを開くデバッグ タブではなく ホーム リボン タブから利用できます。実行中に生成されたログ ファイルが格納されているフォルダーを開き、デバッグ中に何が起きたかの詳細情報を確認できます。

open-logs

ブレークポイントの設定

  1. 実行を一時停止したいアクティビティを選択します。

  2. デバッグ リボンで ブレークポイント をクリックし、メニューから ブレークポイントの切り替え を選択します(または F9 を押します)。

    debug-breakpoint-set

  3. アクティビティの左上隅に赤いマーカーが表示され、ブレークポイントが設定されたことを確認できます。

    breakpoint-log-message

  4. デバッグ をクリックします。ブレークポイントが設定されたアクティビティが実行される直前に一時停止します。

  5. ステップ インF11)、ステップ オーバーF10)、または 続行 を使用して、そこから再開します。

単一のブレークポイントを削除するには、対象のアクティビティを選択し、ブレークポイント をクリックして再度 ブレークポイントの切り替え を選択します。プロジェクト内のすべてのブレークポイントを一度に削除するには、ブレークポイント をクリックして すべてのブレークポイントを削除 を選択します。

ショートカット

よく使用するデバッグおよび実行アクションのキーボード ショートカットは以下のとおりです:

アクションショートカット
デバッグCtrl + F5
スタートF5
ステップ インF11
ステップ オーバーF10
ブレークポイントの切り替えF9
停止Shift + F5

ローカル パネル

ローカル パネルには、ワークフローで現在選択されているアクティビティのスコープにある変数と引数、およびその現在の値と型が表示されます。

debug-locals-panel

デバッグ中、パネルは 3 つの領域に整理されています:

  • 変数 — 現在のスコープで定義されているすべての変数を、その型および現在の値とともに一覧表示します。
  • [アクティビティ] のプロパティ(前の値) — 直前に実行されたアクティビティの入出力プロパティを表示します(例:ログ メッセージ アクティビティの メッセージ プロパティなど)。
  • 引数 — 現在のワークフローに定義されている引数を、その型および現在の値とともに一覧表示します。

ローカル パネルはデバッグ セッションの実行中のみ利用可能で、最初のセッション開始時に自動的に開きます。表示されていない場合は、プロパティワークフロー アウトラインAkaNinja の隣にある ローカル タブを探してください。パネルは各アクティビティの実行後に自動更新されるため、ワークフローが期待どおりの値を生成しているかどうかを簡単に確認できます。

ブレークポイント パネル

ブレークポイント パネルには、プロジェクトに現在設定されているすべてのブレークポイントが一覧表示されます。ワークフロー全体を検索する代わりに、一か所でブレークポイントを確認・管理できます。

debug-breakpoints-panel

各ブレークポイントについて、パネルには以下の情報が表示されます:

  • 有効 — ブレークポイントを削除せずに一時的にオフにするチェックボックス。
  • ワークフロー ファイル — アクティビティを含む .xaml ファイル。
  • アクティビティ名 — ブレークポイントが設定されているアクティビティ。
  • アクティビティ ID — アクティビティの内部識別子。

ブレークポイント パネルでは以下の操作が可能です:

  • 削除 — 選択したブレークポイントを削除します。
  • すべてクリア — プロジェクト内のすべてのブレークポイントを一度に削除します。
  • 更新 — プロジェクトに現在設定されているブレークポイントを反映するようにリストを更新します。

ブレークポイント パネルは、Studio ウィンドウ下部の エラー リスト出力ウォッチ と並んでタブとして利用できます。

ウォッチ パネル

ウォッチ パネルでは、デバッグ中に特定の変数、引数、または式の値を監視できます。ローカル パネルで毎回検索する必要がありません。Studio ウィンドウ下部の エラー リスト出力ブレークポイント と並んでタブとして利用できます。

debug-watch-panel

パネルには 4 つの列があります:

  • — 監視対象の変数、引数、または VB 式。
  • — 式の現在の値。値の横にある鉛筆アイコンをクリックして編集するか、更新アイコンをクリックしてその行のみ再評価します。
  • — 式のデータ型。
  • エラー — 式が無効な場合や現在のアクティビティのスコープ外にある場合にエラーメッセージが表示されます。

新しいエントリを追加するには、パネル下部の空の行(VB 式を入力 と表示されている部分)をクリックして、監視したい変数、引数、または式を入力します。

ウォッチ パネルの値は、デバッグ中に各アクティビティが実行された後に自動更新されます。選択したエントリを削除するには 削除 を、すべてのエントリを一度に削除するには クリア を、監視中のすべての式を再評価するには 更新 を使用します。

例:サンプル ワークフローのデバッグ

この例では、2 つの数値を割り当て、それらを合計して、合計が 10 より大きいかどうかで分岐するシンプルな シーケンス をデバッグする手順を説明します。

ワークフロー

#アクティビティ詳細
1代入number1 = 4
2代入number2 = 7
3代入sum = number1 + number2
4条件分岐条件:sum > 10Then では "2つの数の合計は10より大きいです!" をログに記録し、Else では "2つの数の合計は10より小さいです!" をログに記録します。

シーケンスには number1number2sum の 3 つの変数(いずれも Int32、デフォルト値なし)が定義されています。

ブレークポイントを設定する場所は完全にユーザー次第です — どのアクティビティで一時停止して確認したいかによって異なります。この例では、すべての変数の変化を 1 ステップずつ確認できるよう、上記 4 つのアクティビティそれぞれにブレークポイントを設定します。

  1. 各アクティビティにブレークポイントを設定し(ブレークポイントの設定 を参照)、デバッグ をクリックします(または Ctrl + F5 を押します)。
  2. 続行 をクリックして、ブレークポイントから次のブレークポイントへ移動します。ローカル パネルを確認してください:number14 になり、次に number27 になり、次に sum11 になります。
  3. 条件分岐 のブレークポイントで ステップ イン を使用します — sum11)が 10 より大きいため、実行は Then ブランチに進み、"2つの数の合計は10より大きいです!" をログに記録します。

ブレークポイント パネルを開けば 4 つのブレークポイントをすべて一度に確認できます。また、ウォッチ パネルに sum を追加すれば、ローカル パネルに切り替えることなく sum を追跡できます。

example-debugger