次の方法で共有


デバッガ ビューのアプリケーション サンプル

更新 : 2007 年 11 月

このサンプルでは、デバッグ ウィンドウでクラスの表示方法を変更する機能を示します。これは、Microsoft Visual Studio 2005 で導入された機能です。DebuggerDisplayAttribute などの新しい属性をクラスとそのメンバに適用することにより、[ローカル] デバッグ ウィンドウでの値、型、名前の各列をどのように表示するか、および表示時に値に対して表示、非表示、展開のどれを実行するかを制御できます。現時点では、このサンプルは Microsoft Visual C# 2005 でしか使用できません。

このサンプルの使用については、次のトピックを参照してください。

このサンプルには、デバッガ属性を格納した 3 つのクラスのソース ファイルと、それらを格納しないソース ファイルが含まれています。これらのファイルを次の表に示します。

デバッガ属性のあるファイル

デバッガ属性のないファイル

DebugAddress.cs

NonDebugAddress.cs

DebugCustomer.cs

NonDebugCustomer.cs

DebugCustomerName.cs

NonDebugCustomerName.cs

DebuggerViewsExample.cs ファイル内には、コンソール アプリケーションのエントリ ポイントがあります。このファイルは、両方のファイルのグループで使用されます。デバッグ バージョン (DebugAddress.cs、DebugCustomer.cs、および DebugCustomerName.cs) のコードをコメントから外してサンプルを実行します。

Download sample

コマンド プロンプトを使用してサンプルをビルドするには

  1. コマンド プロンプト ウィンドウを開き、DebuggerViewsCS ディレクトリの \CS サブディレクトリに移動します。必要な設定および SDK のコマンド プロンプトについては、「方法 : サンプルの設定を設定する」を参照してください。

  2. コマンド ラインで「msbuild DebuggerViewsCS.sln」と入力します。

    k7deak79.alert_note(ja-jp,VS.90).gifメモ :

    このサンプルでは、Visual Studio の機能を示します。出力を表示するには、これを Visual Studio デバッグ環境で起動して実行する必要があります。

Visual Studio を使用してサンプルをビルドするには

  1. Windows エクスプローラを開き、DebuggerViewsCS ディレクトリの \CS サブディレクトリに移動します。

  2. DebuggerViewsCS.sln をダブルクリックして、ファイルを Visual Studio 2005 で開きます。

  3. [ビルド] メニューの [ソリューションのビルド] をクリックします。

サンプルを実行するには

  1. [表示] メニューの [ソリューション エクスプローラ] をクリックします。

  2. [ソリューション エクスプローラ] ウィンドウで、DebuggerViewsExample.cs をダブルクリックして、ファイルを Visual Studio 2005 で開きます。

  3. [プロジェクト] メニューの [すべてのファイルを表示] をクリックします。

  4. ここに示されているように、GetCustomers メソッドが Customer 型の変数をインスタンス化する行にブレークポイントを挿入します (F9 キーを押します)。

    Customer c = new Customer(cn, Address.GetAddressById(customerAddresses, cn.Id));

  5. F5 キーを押して、サンプル アプリケーションを Visual Studio 2005 デバッグ環境で起動して実行します。

  6. アプリケーションがブレークポイントでブレークしたら、F10 キーを押して次のコード行にステップします。

  7. アプリケーションのプロパティ、コレクション、およびその他のオブジェクトの階層を展開して、[ローカル] ウィンドウ内の現在の値を確認します。[ローカル] ウィンドウを表示するには、[デバッグ] メニューの [ウィンドウ] をクリックし、[ローカル] をクリックします。

  8. [デバッグ] メニューの [デバッグの停止] をクリックするか、Shift キーを押しながら F5 キーを押すか、またはデバッグ ツール バーの該当するアイコンをクリックして、コードの実行を停止します。

  9. 名前が Debug で始まる 3 つのファイルのコードのコメントを解除します。次に、名前が NonDebug で始まる 3 つのファイルのコードをコメント アウトするか、またはこの 3 つのファイルを [ソリューション エクスプローラ] ウィンドウで選択して右クリックし、[プロジェクトから削除] をクリックします。

  10. 同じブレークポイントが設定されている状態で、[デバッグ] メニューの [開始] をクリックします。アプリケーションがブレークした後で、[ローカル] ウィンドウの値列の情報を確認します。デバッグ属性から提供された情報が追加されています。

解説

デバッグ属性の使用例を示すため、DebugCustomer.cs ファイルには次の DebuggerDisplay 属性が CustomerName クラスのために用意されています。

[DebuggerDisplay("{(FirstName == null) ? \"\":FirstName} {LastName} ==> (Customer ID = {Id})")]

デバッグ時にこの属性は、次の値を [ローカル] ウィンドウに表示します。cn という名前は、CustomerName オブジェクトのインスタンスです。

名前

cn

"Sally" "HighBridge" ==> (Customer ID = 12345)

Microsoft.Samples.CustomerName

この属性を指定しないと、[ローカル] ウィンドウには次の情報が表示されます。

名前

cn

{Microsoft.Samples.CustomerName}

Microsoft.Samples.CustomerName

参照

その他の技術情報

Visual Studio でのデバッグ