デバッガ ビューのアプリケーション サンプル
更新 : 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) のコードをコメントから外してサンプルを実行します。
コマンド プロンプトを使用してサンプルをビルドするには
コマンド プロンプト ウィンドウを開き、DebuggerViewsCS ディレクトリの \CS サブディレクトリに移動します。必要な設定および SDK のコマンド プロンプトについては、「方法 : サンプルの設定を設定する」を参照してください。
コマンド ラインで「msbuild DebuggerViewsCS.sln」と入力します。
メモ : このサンプルでは、Visual Studio の機能を示します。出力を表示するには、これを Visual Studio デバッグ環境で起動して実行する必要があります。
Visual Studio を使用してサンプルをビルドするには
Windows エクスプローラを開き、DebuggerViewsCS ディレクトリの \CS サブディレクトリに移動します。
DebuggerViewsCS.sln をダブルクリックして、ファイルを Visual Studio 2005 で開きます。
[ビルド] メニューの [ソリューションのビルド] をクリックします。
サンプルを実行するには
[表示] メニューの [ソリューション エクスプローラ] をクリックします。
[ソリューション エクスプローラ] ウィンドウで、DebuggerViewsExample.cs をダブルクリックして、ファイルを Visual Studio 2005 で開きます。
[プロジェクト] メニューの [すべてのファイルを表示] をクリックします。
ここに示されているように、GetCustomers メソッドが Customer 型の変数をインスタンス化する行にブレークポイントを挿入します (F9 キーを押します)。
Customer c = new Customer(cn, Address.GetAddressById(customerAddresses, cn.Id));
F5 キーを押して、サンプル アプリケーションを Visual Studio 2005 デバッグ環境で起動して実行します。
アプリケーションがブレークポイントでブレークしたら、F10 キーを押して次のコード行にステップします。
アプリケーションのプロパティ、コレクション、およびその他のオブジェクトの階層を展開して、[ローカル] ウィンドウ内の現在の値を確認します。[ローカル] ウィンドウを表示するには、[デバッグ] メニューの [ウィンドウ] をクリックし、[ローカル] をクリックします。
[デバッグ] メニューの [デバッグの停止] をクリックするか、Shift キーを押しながら F5 キーを押すか、またはデバッグ ツール バーの該当するアイコンをクリックして、コードの実行を停止します。
名前が Debug で始まる 3 つのファイルのコードのコメントを解除します。次に、名前が NonDebug で始まる 3 つのファイルのコードをコメント アウトするか、またはこの 3 つのファイルを [ソリューション エクスプローラ] ウィンドウで選択して右クリックし、[プロジェクトから削除] をクリックします。
同じブレークポイントが設定されている状態で、[デバッグ] メニューの [開始] をクリックします。アプリケーションがブレークした後で、[ローカル] ウィンドウの値列の情報を確認します。デバッグ属性から提供された情報が追加されています。
解説
デバッグ属性の使用例を示すため、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 |