これは便利!Microsoft Researchが開発したDebugger Canvas

マイクロソフトとブラウン大学が共同で作成したのがDebugger Canvasです。
Debbuger Canvasは、新たな方法でデバッグ作業をするためのCode Bubbles™をVisual Studioへ追加するための無料のパワーツールです。

ドキュメントタブを見失ったことはありませんか?
ファイルからファイルへあっちこちを参照しながらデバッグしようとしたことはありませんか?
Debugger Canvasは、拡大したり全体を表示したりできる一つの画面で、関係するコードを一覧表示できます。ブレイクポイントを打ったり、コードにステップインしたりすると、Debugger Canvasは、呼び出し行やローカル変数などデバッグしている対象メソッドだけを表示し、大きな画像でコードを俯瞰する手助けをします。
デモの様子は下の動画を見るとよくわかるかと思います。

動作様子

まず、下の図のようにブレイクポイントを打って、デバッグ実行します。

image

デバッグ実行で、操作をしブレイクポイントに反応すると次の図のようにDebugger Canvasが表示されます。

image

ステップイン実行をしていくと、次のように展開されていく。

image

image

image

Visual Studioエディターの機能を使用しているので、当然次の図のように変数内部を参照することができる。

image

image

コールスタックを確認する際に、次の図のように時間ごとのオブジェクトの変更履歴を参照することが可能。

image

各ペインの左上には、クラス名、名前空間、プロジェクト名などが表示されており、今どこのコードが表示されているのかを認識しやすくなっている。

image

また、クラスにどのようなメソッドが含まれているのかを一覧で確認が可能。

image

このメソッド一覧で、メソッドをクリックすると、次のように表示される。これはブレイクポイントとは関係ないので、依存関係を示す矢印は表示されない。

image

ステップ実行を継続していけば、次のような感じに、複数のメソッドを参照している場合でもしっかりと関係性がわかるように表示される。

image

次の図のようなメモを残すことができる。

image

一般的な質問

一般的な質問として、10個前後の質疑が本家では記載されていますので、気になる方は本家を参照してください。ここでは、3つほど意訳してます。

Debugger Canvasはどこからダウンロードできますか?

現在、提供を始めるための準備の最終段階です。最初のアルファーリリースは2011年の6月上旬に提供を始めます。ダウンロードリンクを確認するために、Debugger Canvas – Microsoft Researchに再度アクセスするか、MSDN Blogs又は、http://twitter.com/andrewbragdonをチェックしてください。

キャンバス上のコードバブルは何ですか?

それぞれのコードバブルは、メンバー定義を表示し、メソッドを呼び出すわけではありません。なので、二回目にメソッドにステップインしても、Debugger Canvasは最初に実行したときと同じバブルを表示します。

Debugger Canvasは実行したすべてのメソッドのバブルを開きますか?

いいえ。
Debugger Canvasは、ユーザの行為を元にバブルを開きます。次の場合、キャンバスにバブルを表示します。

  • メソッドにステップインした
  • ブレイクポイントを設定し、ヒットした
  • コールスタックウィンドウでメソッドをダブルクリックした
  • インターフェイスコールビューでメソッドをダブルクリックした
  • インテリトレースウィンドウからキャンバスにメソッドをD&Dした。(ドラッグしたコールツリーのすべてのメソッドがバブル表示される)
  • 定義に移動を実行した

情報源・ネタ元