Visual Studio 2008 での Expression Blend アプリケーションのデバッグ

Microsoft Expression Blend 2 は、Microsoft Windows 用の機能豊富な Windows Presentation Foundation アプリケーションと Web 用の Microsoft Silverlight 1.0 アプリケーションを作成するためのデザイン ツールです。同様に Microsoft Windows アプリケーションの開発に使用される Microsoft Visual Studio 2008 で、Expression Blend 2 プロジェクトを表示、ビルド、およびデバッグできます。Expression Blend のテスト機能 (F5 キー) を使用したアプリケーションのデバッグに問題がある場合、Visual Studio 2008 を使用して、実行時エラーに関する詳細なエラー メッセージを取得できます。XAML またはコードにさまざまな変更を加えながら動作を検証していくうちに、原因が判明し、実行時エラーを解決できることもあります。しかし実際には、アプリケーションのコードを 1 行ずつステップ実行しながら検証していく方が、早く原因を特定できます。

行単位でコードをデバッグするには

  1. Expression Blend プロジェクトを Visual Studio 2008 で開きます。

  2. 検証対象のコード行をクリックし、F9 キーを押してブレークポイントを設定します。コードを先頭からステップ実行する場合は、Window1.xaml.cs ファイルの this.InitializeComponent(); 行にブレークポイントを設定します。

  3. F5 キーを押してアプリケーションを開始します。

    Visual Studio 2008 は、アプリケーションをビルドし、ブレークポイントを設定した行が呼び出されるまでアプリケーションを実行します。Visual Studio 2008 は、ブレークポイントに達するとアプリケーションの実行を停止し、ブレークポイントが設定されているファイルを開いて、次に実行される行に黄色の矢印を表示します。

  4. [デバッグ] メニューには、コードのステップ実行のオプションが 3 つあります。

    • [ステップ イン] (F11) は、コードの次の行を実行し、その行が関数呼び出しの場合は、呼び出される関数の先頭行に移動します。

    • [ステップ オーバー] (F10) は、コードの次の行を実行しますが、その行が関数呼び出しの場合、その関数を実行してから、関数呼び出しの次の行に移動します。

    • [ステップ アウト] (Shift + F11) は、関数呼び出しの内側から呼び出し元に戻ります。

    最も頻繁に使用されるオプションは、[ステップ オーバー] (F10) です。コードのステップ実行中、どのコード パスが実行されているかや、予測した順序でコードが実行されているかどうかを確認できます。

  5. [ローカル] パネルには、現在インスタンス化されている変数と、その変数に格納されている値が表示されます。コードをステップ実行するに従い、[ローカル] パネルの変数の値は更新されます。これは、アプリケーションをデバッグするうえで、ループが予定した回数だけ呼び出されていないか、変数に想定した値が格納されていないと思われる場合や、変数が必要になる前に無効 (スコープ外) になっている場合に役立ちます。

Cc295138.7e183f1f-37d8-4dcb-980c-19a5d61ca087(ja-jp,Expression.10).gif先頭に戻る

WPF ブラウザ アプリケーションをデバッグするには

  1. WPF ブラウザ アプリケーションをブラウザで実行しながらデバッグするには、Visual Studio 2008 Standard Edition のプロセスにアタッチ機能を使用する必要があります。次の手順を実行します。

  2. プロジェクトを少なくとも 1 回ビルドして実行することで、デバッグ ファイルを作成します。

  3. コマンド ラインに次の行を入力し、Enter キーを押します。

    %SystemRoot%\system32\PresentationHost.exe -debug
    

    これで、WPF プロセスがデバッグ モードで起動します。

  4. Visual Studio 2008 で、WPF ブラウザ アプリケーション プロジェクトを開きます。

  5. [プロジェクト] メニューの [プロパティ] をクリックします。[デバッグ] タブで、[アンマネージ コード デバッグを有効にする] をオンにします。プロパティ ウィンドウを閉じます。

  6. [デバッグ] メニューの [プロセスにアタッチ] をクリックします。

  7. [プロセスにアタッチ] ウィンドウの [アタッチ先] の隣にある [選択] をクリックします。[次のコードの種類をデバッグする] の [マネージ] および [ネイティブ] を選択し、[OK] をクリックします。[選択可能なプロセス] で、PresentationHost.exe を選択します。[アタッチ] をクリックしてデバッグを開始します。

  8. Windows エクスプローラで、プロジェクトの bin\Debug フォルダにある、アプリケーション用の .xbap ファイルをダブルクリックします。

    アプリケーションが既定のブラウザで起動します。ブレークポイントを設定してある場合は、アプリケーションが停止し、ブレークポイントが設定されているファイルが Visual Studio 2008 で開き、次に実行される行に黄色の矢印が表示されます。この行から、通常どおりコードをステップ実行することができます。

デバッグの詳細については、MSDN ライブラリの「Visual Studio 2008 でのデバッグ」を参照してください。

Cc295138.7e183f1f-37d8-4dcb-980c-19a5d61ca087(ja-jp,Expression.10).gif先頭に戻る

Visual Studio 2008 で XAML 実行時エラーをデバッグするには

実行時に XAML エラーが発生する場合、プロジェクト ファイル (.csproj または .vbproj) の <PropertyGroup> セクションに次のコードを追加することによって、エラーの原因となっている XAML 行に関する情報を取得できます。

<XamlDebuggingInformation>true</XamlDebuggingInformation>

プロジェクト ファイル内のこのプロパティは、デバッグ バージョンのビルドでのみ既定で True に設定されます。この値を設定すると、アプリケーションのサイズが増大するためです。

Cc295138.7e183f1f-37d8-4dcb-980c-19a5d61ca087(ja-jp,Expression.10).gif先頭に戻る

デバッグ全般

アプリケーションのバグの原因や発生場所を特定することが困難な場合もありますが、遭遇する可能性のあるバグの種類を把握しておくと役に立ちます。詳細については、このユーザー ガイドの「Expression Blend アプリケーションのデバッグ」を参照してください。

Cc295138.7e183f1f-37d8-4dcb-980c-19a5d61ca087(ja-jp,Expression.10).gif先頭に戻る