VS 2010デバッガーには、Intellitrace(別名ヒストリカルデバッガー)、新しい並列/マルチスレッドデバッグ機能、新しいバージョンについて説明する際に注意を要するデバッグダンプサポートなど、多数の優れた機能が含まれています。
今日の投稿では、VS 2010で登場したデバッグ中の小さな、しかしそれでも快適な瞬間の話を始めます。
ブレークポイントラベル
VS 2010は、デバッガブレークポイントをより便利に管理するための新しい機能を追加します。 本当に便利な機能の1つに「ブレークポイントラベル」があり、プロジェクト内のポイントをより適切にグループ化およびフィルタリングできます。
Visual Studioの以前のバージョンでは、各デバッガブレークポイントを個別のアイテムとして管理する必要がありました。 デバッグ対象に応じて有効または無効にできるブレークポイントの特定の論理グループを保存する場合、特に大規模なプロジェクトでは、各ポイントを個別に管理するのは面倒で苦痛な作業です。 VS 2010の新しい機能「ブレークポイントラベル」を使用して、このポイントの「グループ」に名前を付けて、それらを1つとして管理できるようになりました。
ラベルを使用して複数のブレークポイントをグループ化する
以下は、Visual Studio 2010のブレークポイントウィンドウのスクリーンショットです。このリストには、プロジェクト(この場合はASP.NET MVC 2)のすべてのブレークポイントが含まれています。
リストの最初と最後のポイントは、Controllerインスタンスが作成されるとデバッガーを停止します。
VS 2010を使用して、これらの2つのポイントを選択し、それらを右クリックして[ラベルの編集...]を選択して名前を付けることができます。
以下は、「ラベルの編集」をクリックすると表示されるウィンドウです。 これを使用して、ブレークポイント用の新しい文字列ラベルを作成したり、既存のラベルを選択したりできます。 この場合、「Lifetime Management」という名前の新しいラベルを作成して、2つのポイントを説明します。
[OK]をクリックすると、選択した2つのポイントが、作成された[Lifetime Management]ラベルの下にグループ化されます。
ラベルを使用してブレークポイントをフィルターおよびソートする
[検索]ドロップダウンリストを使用して、ラベルでブレークポイントをすばやくフィルタリングまたはソートできます。 以下に、「Lifetime Management」というラベルが付いているポイントのみを示します。
ラベルを介してブレークポイントをオン/オフにします
ブレークポイントのグループを有効または無効にすることもできます。 グループをラベルでフィルタリングし、Ctrl-Aですべてのポイントを選択し、必要に応じてそれらをアクティブまたは非アクティブにするだけで十分です。
ブレークポイントのインポート/エクスポート
VS 2010は、ブレークポイントのXMLファイルへのインポート/エクスポートをサポートしており、ブレークポイントを別の開発者に転送したり、エラーレポートに添付したり、後でリロードしたりできます。
ブレークポイントの特定のサブセットのみをエクスポートするには、それらをラベルでフィルタリングし、[ブレークポイント]ウィンドウで[ブレークポイントのエクスポート]をクリックします。
上記では、ポイントをフィルター処理して、特定の2つのポイント(エラーに固有)のみをエクスポートしました。 ポイントデータをXMLファイルにエクスポートし、それをエラーレポートまたはメールで添付することにより、別の開発者が別のマシンでデバッガを簡単に構成できます。
ドッキング可能なデータヒント
Visual Studio 2010には、「ドッキング可能なデータヒント」と呼ばれる興味深い機能も含まれています。これにより、デバッグモードで変数と式の値を追跡できます。
デバッグモードで変数または式をポイントするだけで、値を表示する補助ツールチップが表示され、新しい「ペーパークリップ」をクリックして固定します。
必要と思われる任意の数のデータヒントを固定できます。 さらに、高レベル変数を修正することにより、特定の変数の内部プロパティをより深く掘り下げ、内部変数を固定することができます。
以下では、「category」、「Request.RawUrl」、「Request.LogonUserIdentity.Name」の3つの変数を修正しました。 最後の2つの変数は、「Request」オブジェクトの内部プロパティであることに注意してください。
固定されたデータヒントのバインドされたコメント
ドッキングされたDataTipにカーソルを合わせると、追加のインターフェイス要素が表示されます。
DataTipのコメントボタンをクリックすると、オプションでコメントを追加できます。
これにより、デバッグコメントの添付と追跡が非常に便利になります。
固定されたデータヒントは、デバッグセッションとVisual Studioで使用できます。
固定されたデータヒントは、いくつかのデバッガーセッションで使用できます。 つまり、デバッガーを停止し、コードに変更を加え、新しいデバッグセッションを再コンパイルして再開すると、ピン留めされたすべてのデータヒントが元の場所に残り、コメントも添付されます。
固定されたデータヒントは、いくつかのVisual Studioセッションで使用できます。 これは、プロジェクトを閉じ、Visual Studioを閉じ、後でプロジェクトを開いて、ピン留めされたすべてのDataTi'pが所定の位置にあり、コメントが付いていることを確認できることを意味します。
以前のデバッグセッションの値を表示する
コードに戻って次のように言うために、デバッガを何回停止しましたか。
なんとx $#nya! -この変数の値は何でしたか????
DataTipsの良い点の1つは、デバッグセッションの最後の値を追跡できることです 。 デバッグモードを終了しても 、VB / C#コードエディターでこれらの値を表示できます 。
コードエディタを使用しているとき、およびデバッグセッションの外では、データヒントはデフォルトで非表示になっています。 コードエディターのインデントの左側に、ドッキングされた各DataTipのペーパークリップがあります。
ドッキングされたDataTipにマウスを向けると、画面に表示されます。 以下のスクリーンショットは、エディターで最初のクリップにカーソルを合わせるとどうなるかを示しています。「Request」オブジェクトとコメントの最後のデバッグセッションの値が表示されます。
これにより、デバッグモードとコード編集モードを切り替えるときに、ステータスと条件を簡単に追跡できます。
固定されたDataTipsのインポートとエクスポート
この記事で前述したように、固定されたデータヒントはすべてのVisual Studioセッションでデフォルトで保存されます。
VS 2010は、固定されたDataTipsのXMLファイルへのインポートまたはエクスポートもサポートしています。これは、後で他の開発者に転送したり、エラーレポートに添付したり、将来リロードしたりできます。
ブレークポイントのインポート/エクスポートのサポートとともに、この機能により、さまざまな開発者とのデバッガー設定の交換がはるかに簡単になり、
まとめ
Visual Studio 2010には、デバッガ用の小規模なものから巨大なものまで、数多くの優れたイノベーションが含まれています。
本日の投稿では、デバッガーの使いやすさが向上していることが明らかになりました。 上記の機能はすべて、Visual Studio Professional Editionでサポートされています(ドッキング可能なDataTipsはVisual Studio 2010 Express Editionでも利用可能です)
以下の記事では、Intellitrace、並列/マルチスレッドデバッグ、ダンプ分析などの巨大な革新について説明します。