今日のワンポイント : イミディエイト ウィンドウを仮の計算機またはデバッガー内のサイド デバッガーとして使用する方法 - #241

これは、「TechEd VS 2008 IDE Tips and Tricks」と題したトークの中で紹介したワンポイント #20 です。

変数の値の編集以外の操作を行う場合は、イミディエイト ウィンドウで関数全体を書き直すか、または新しい関数を作成することができます。私は、ドック位置からドッキング ターゲットにツール ウィンドウをドラッグする操作を自動化するための計算を行うときに、このやり方が非常に便利であることに気が付きました。基本的に、マウス ドラッグ関数に座標を送るために 2 つの地点間の直線を計算する必要がありました。計算を誤った場合は、メイン デバッガーに影響しないように、イミディエイト ウィンドウを表示して何度も計算をやり直す必要がありました。つまり、イミディエイト ウィンドウ内で値を意図的に変更しない限り、変数とメイン デバッガーの状態は変わらないということです。

非常に単純な例を挙げます。基本的な "hello world" コンソール アプリケーションがあるが、出力する必要があるのは、特定の計算の結果であるとします。コンソール アプリケーションは、"hello world" しか出力しません。

Hello World on Output Window

この単純なコンソール アプリケーションの末尾にブレークポイントを設定すると、 [デバッグ]、[ウィンドウ]、[イミディエイト ] の順にクリックしてイミディエイト ウィンドウを呼び出し、任意の操作を実行できるようになります。イミディエイト ウィンドウを仮の計算機として使用する必要がある場合は、次のように "1 + 1" の値を求めることができます (VB の例)。

immediate window calculating 1+1

これはコンソール アプリケーション内での処理なので、"i" の値でさえ、イミディエイト ウィンドウ経由でコンソール ウィンドウに出力できます。実際には、ここでデバッガーの状態を変更すべきなのです。

Writing 'i' to console window via immediate window

値 2 がコンソール ウィンドウに表示されます。

value of 'i' in console window

Technorati タグ : VS2005TipVS2008Tip

投稿 : 2008 年 6 月 19 日 (木) 3:00 AM saraford

Sara Ford さんの Web ログ -  https://blogs.msdn.com/saraford/archive/2008/06/19/did-you-know-you-can-use-the-immediate-window-as-a-glorified-calculator-or-side-debugger-within-your-debugger-241.aspx より。

分類: Visual Studio 2008 ワンポイント