はじめに
今回は個人的にデバッグをする上で覚えておきたい機能一位であるImmediate Window
を紹介したいと思います。
概要
Immediate Window
はデバッガーによりプログラムが一時停止状態のときに処理を挟み込むことができる機能です。例えば変数の中身を調べたり、変数に別の値を代入してみたり、メソッドを呼んでみたりもできます。
イミディエイトウィンドウを使用すると、プログラムの一時停止状態で使用可能なオブジェクトおよび機能にアクセスできます。
プログラムがデバッグセッションで中断されるとすぐに、ウィンドウが使用可能になり、入力の受け入れを開始します。デバッグウィンドウの変数ペインにウィンドウが表示されます。
イミディエイトウィンドウを使用してプログラムと対話する | JetBrains Rider ドキュメント
またインテリセンスもしっかりと効くので、めっちゃ扱いやすいです。まだ体験したことのない人には是非一度体験してほしいです。
使い方
1. デバッグ実行する
まずは基本ですが、ブレークポイントを設定します。赤い丸のやつですね。
あとはデバッグ実行します。やり方は沢山ありますが、例えばメソッドを右クリックしてデバッグ
を実行します。
2. プログラムが一時停止する
ブレークポイントに到達するとプログラムが一時停止します。その際にImmediate Window
が立ち上がることを確認してください。
3. Immediate Windowを活用する
値を調べる
まずはローカル変数などのプログラムの一時停止時点で参照できる変数を参照してみましょう。前述の通りインテリセンスが効くので、かなり分かりやすいです。
# 例
> target.A
また$result=
の箇所に構造化されて評価結果が表示されていることも確認できます。
値を代入する
次に変数に値を代入することもできます。
# 例 > target.A = "new A"
新しい変数を用意する
新しい変数を生成することもできます。最後のセミコロンを忘れないようにしてください。
# 例 > var test = "This is Test Value";
メソッドを実行する
メソッドの実行もできます。こちらもインテリセンスが効くので特に迷うことはないでしょう。
> Enumerable.Range(0, 10).ToArray()