デバッグ中にローカルの値を変更できるか

デバッグモード中にローカルの変数や引数の値(特にDatatableやDictionary、Datarowなど)を変更することは可能でしょうか。可能であれば方法をご教授いただきたいです。

作成したワークフローの異常系の確認をしており、想定通り例外が発生することを確認したいのですが、1つ1つ間違ったテスト用データを用意すると時間がかかってしまうため、条件分岐の度に間違った値を入力して都度例外を発生させたいと考えています。

イミディエイトウィンドウを開いて変数への代入を実行してあげれば、
デバッグ中に値をいじれるようです。
ただ、手作業になりますので、発生させたい例外の数によってはとても
煩雑かもしれません。

1 Like

s-tomonoriさん
回答ありがとうございます。
イミディエイトウィンドウを開いてみたのですが、使い方がよくわからず・・・
どうやったら代入を実行できますでしょうか。

ローカルウィンドウの変更したい変数の近くにマウスを持っていくと、えんぴつマークが出ます。
※すいません。勘違いしていました。イミディエイトウィンドウの使い方は別途書きます。

それを押すと編集画面が立ち上がりますので、そこで編集して、OKを押していただくと

参考2

変更されます。

参考3

2 Likes

イミディエイトウィンドウでの変更方法です。

以下のようなワークフローがあるとします。

イミディエイトウィンドウの>の所に入力し、エンターを押します。

文字の設定
数値の設定

※文字の場合は""で囲む必要があります。

すると変更されます。

イミディエイト実行後
ローカルウィンドウでも確認

※string,int以外の場合も可能です。
以下は文字配列cとデータテーブルの中身を書き換えています。

image

ご参考まで。

4 Likes

kyd_hasさん
わかりやすい例とともに教えていただきありがとうございます。
ローカルウィンドウの方で試してみたところ、Dtや配列等、複雑な変数に対しての変更は行えませんでしたが、この認識であっていますでしょうか。
イミディエイトに関して
Dtの変更は自分でも行えました。ありがとうございました。
List型やDictionary型に対しても変更方法を知りたいのですが、ご教授願えますでしょうか。
String配列と同じ方法を試してみたのですが、中身の参照はできても変更はできませんでした。

ローカルウィンドウでも一部は変更可能です。

上のような変数があるとします。

配列の変更は直接の右えんぴつからではなく、▲を開いていって未加工ビューの右えんぴつから変更可能です。
配列変更

※データテーブルの変更は見つけられませんでした。。。すいません。

リストはほぼ配列の場合と同じです。
list変更

dictionaryについては、keyを書き換えることはできませんでしたが、値ならできました。
dictionary値変更

また、イミディエイトに関して、listとdictionaryについて操作してみました。

listについて、値の変更と、まるごと中身を入れ替える例です。
listを変更

dictionaryについて、値を変更する例、keyを削除する例、まるごと入れ替える例です。
※key-valueペアをセットは失敗してしまいました。
dictionaryを変更

ところどころ力不足で解決していない所もありますが、ご参考になれば幸いです。

4 Likes

kyd_hasさん
ありがとうございます。大変わかりやすい実例本当にありがとうございました。
イミディエイトで変数内の値を指定する場合fromが必要になるんですね・・・

大分自分の中での選択肢が増えました。本当ににありがとうございました

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.