Visual Studio 内での Blend アプリケーションのデバッグ
Blend for Visual Studio は、Microsoft Windows 用の機能豊富な Windows Presentation Foundation (WPF) アプリケーションと Web 用の Microsoft Silverlight アプリケーションを作成するためのデザイン ツールです。 同様に Microsoft Windows アプリケーションの開発に使用される Visual Studio で、Blend プロジェクトを表示、ビルド、およびデバッグできます。 Blend で [プロジェクトの実行] (F5) を使用してプロジェクトを実行したときにうまくデバッグできない場合は、Visual Studio 2010 を使って実行時エラーの詳しいエラー メッセージを確認できます。 XAML またはコードにさまざまな変更を加えながら動作を検証していくうちに、原因が判明し、実行時エラーを解決できることもあります。 しかし、実際には、アプリケーションのコードを 1 行ずつステップ実行する方が、エラーの原因が早くわかることがよくあります。
行単位でコードをデバッグするには
Visual Studio で Blend プロジェクトを開きます。
検証対象のコードの行をクリックし、F9 キーを押してブレークポイントを設定します。 コードを先頭からステップ実行する場合は、Window1.xaml.cs ファイルの this.InitializeComponent(); 行にブレークポイントを設定します。
F5 キーを押してアプリケーションを起動します。
Visual Studio は、アプリケーションをビルドし、ブレークポイントを設定した行が呼び出されるまでアプリケーションを実行します。 Visual Studio は、ブレークポイントに達するとアプリケーションの実行を停止し、ブレークポイントが設定されているファイルを開いて、次に実行される行に黄色の矢印を表示します。
[デバッグ] メニューには、コードのステップ実行のオプションが 3 つあります。
[ステップ イン] (F11 キーを押します) は、コードの次の行を実行し、その行が関数呼び出しの場合は、呼び出される関数の先頭行に移動します。
[ステップ オーバー] (F10 キーを押します) は、コードの次の行を実行しますが、その行が関数呼び出しの場合、その関数を実行してから、関数呼び出しの次の行に移動します。
[ステップ アウト] (Shift を押しながら F11 キーを押す) は、関数呼び出しの内側から呼び出し元に戻ります。
最も頻繁に使用されるオプションは、[ステップ オーバー] (F10 キーを押します) です。 コードのステップ実行中に、どのコード パスが実行されているかや、正しい順序でコードが実行されているかどうかを確認できます。
[ローカル] パネルには、現在インスタンス化されている変数と、その変数に格納されている値が表示されます。 コードをステップ実行するに従い、[ローカル] パネルの変数の値は更新されます。 これは、アプリケーションをデバッグするうえで、ループが予定した回数だけ呼び出されていないか、変数に想定した値が格納されていないと思われる場合や、変数が必要になる前に無効 (スコープ外) になっている場合に役立ちます。
WPF ブラウザー アプリケーションのデバッグ
WPF ブラウザー アプリケーションをブラウザーで実行しながらデバッグするには、Visual Studio 2010 Standard Edition またはそれ以降の [プロセスにアタッチ] 機能を使用する必要があります。 次の手順に従います。
WPF ブラウザー アプリケーションをデバッグするには
プロジェクトを少なくとも 1 回ビルドして実行することで、デバッグ ファイルを作成します。
コマンド ラインに次の行を入力し、Enter キーを押します。
%SystemRoot%\system32\PresentationHost.exe -debug
これで、WPF プロセスがデバッグ モードで起動します。
Visual Studio で WPF ブラウザー アプリケーション プロジェクトを開きます。
[プロジェクト] メニューの [プロパティ] をクリックします。 [デバッグ] タブで、[アンマネージ コード デバッグを有効にする] をオンにします。 プロパティ ウィンドウを閉じます。
[デバッグ] メニューの [プロセスにアタッチ] をクリックします。
[プロセスにアタッチ] ウィンドウの [アタッチ先] の隣にある [選択] をクリックします。 [次のコードの種類をデバッグする] の [マネージ] および [ネイティブ] を選択し、[OK] をクリックします。 [選択可能なプロセス] で、[PresentationHost.exe] を選択します。 [アタッチ] をクリックしてデバッグを開始します。
ファイル エクスプローラーで、プロジェクトの bin\Debug フォルダーにある、アプリケーション用の .xbap ファイルをダブルクリックします。
アプリケーションが既定のブラウザーで起動します。 ブレークポイントを設定してある場合は、アプリケーションが停止し、ブレークポイントが設定されているファイルが Visual Studio で開き、次に実行される行に黄色の矢印が表示されます。 この行から、通常どおりコードをステップ実行することができます。
デバッグの詳細については、MSDN の「Visual Studio でのデバッグ」を参照してください。
Visual Studio で XAML 実行時エラーをデバッグするには
実行時に XAML エラーが発生する場合は、プロジェクト ファイル (.csproj または .vbproj) の <PropertyGroup> セクションに次のコードを追加し、エラーの原因となっている XAML 行に関する情報を取得します。
<XamlDebuggingInformation>true</XamlDebuggingInformation>
プロジェクト ファイル内のこのプロパティは、デバッグ バージョンのビルドでのみ既定で True に設定されます。この値を設定すると、アプリケーションのサイズが増大するためです。
デバッグ全般
アプリケーションのバグの原因や発生場所を特定することが困難な場合もありますが、遭遇する可能性のあるバグの種類を把握しておくと役に立ちます。 詳細については、「Blend におけるアプリケーションのデバッグ」を参照してください。