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