次の方法で共有


アプリケーション レベルのプロジェクトのデバッグ

更新 : 2007 年 11 月

対象

このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。

プロジェクトの種類

  • ドキュメント レベルのプロジェクト

Microsoft Office のバージョン

  • 2007 Microsoft Office system

  • Microsoft Office 2003

詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

アプリケーション レベルのプロジェクトのデバッグは、他の Visual Studio プロジェクトに使用するツールと同じ Microsoft Visual Studio ツールを使用して実行できます。アプリケーション レベルのプロジェクトのデバッグ時には、ブレークポイントの挿入や [ローカル] ウィンドウでの変数の表示など、Visual Studio デバッガの機能も使用できます。Visual Studio のデバッグ ツールの詳細については、「Visual Studio でのデバッグ」を参照してください。アプリケーション レベルのプロジェクトの詳細については、「アプリケーション レベルのアドインのアーキテクチャ」を参照してください。

デバッガの起動と停止

アプリケーション レベルのプロジェクトのデバッグの開始方法は、他の Visual Studio プロジェクトのデバッグの開始方法と同じです (F5 キーを押すなど)。プロジェクトのデバッグを開始すると、対象 Office アプリケーションの新しいプロセスが開始され、アドインが読み込まれます。デバッガを停止すると、アプリケーション プロセスが即座に停止されます。また、デバッガをデタッチするように設定してある場合にはデバッガがデタッチされます。詳細については、「デバッグのショートカット キー (Brief スキーム)」を参照してください。

例外の表示

Visual Studio Tools for Office で作成されたアドインが例外をスローした場合、Microsoft Office アプリケーションはその例外を表示せずに動作を継続します。アドインの例外がスローされたときにそのことを確認するには、例外がスローされるたびに中断するようデバッガを設定します。詳細については、「方法 : Office プロジェクトのエラーを処理する」を参照してください。

例外をスローする可能性のあるコードの近くに Try...Catch ステートメントを挿入することもできます。Try...Catch ステートメントを使用する方法の詳細については、「方法 : Visual Basic で Try...Catch ブロックを使用してコードを検査する」および「方法 : try/catch を使用して例外を処理する (C# プログラミング ガイド)」を参照してください。

無効化されたアドインのデバッグ

Microsoft Office アプリケーションでは、読み込み中に予期しない動作を行うアドインを無効にする場合があります。Microsoft Office アプリケーションは、起動するたびに問題のあるコードが読み込まれないようにするため、アドインを無効にします。しかし、通常のデバッグ時に、予期しない動作が発生することはよくあります。アドインを再び有効にする方法の詳細については、「方法 : 無効にされたアドインを再度有効にする」を参照してください。

Microsoft Office アプリケーションでアドインに適用される無効化には、ハードな無効化とソフトな無効化の 2 種類があります。

ハードな無効化

ハードな無効化は、アドインの読み込み中に実行されるコードが原因でアプリケーションが異常終了した場合や、コンストラクタまたは Startup イベント ハンドラの実行中にデバッガを停止した場合に発生します。

Microsoft Office 2003 アプリケーションが Visual Studio Tools for Office を使用して作成されたアドインをハードに無効化する場合、このアプリケーションは、エラーの原因となったアドインと AddinLoader.dll の両方を無効化します。AddinLoader.dll は、Visual Studio Tools for Office を使用して作成されたアドインを読み込むために使用されます。その結果、Visual Studio Tools for Office を使用してその Microsoft Office アプリケーション用に作成されたすべてのアドインは、現在のユーザー用に読み込むことができなくなります。AddinLoader.dll の詳細については、「アプリケーション レベルのアドインのアーキテクチャ」を参照してください。

2007 Microsoft Office System アプリケーションが Visual Studio Tools for Office を使用して作成されたアドインをハードに無効化する場合、このアプリケーションは、エラーの原因となったアドインのみを無効化します。その結果、Visual Studio Tools for Office を使用してその Office 2007 アプリケーション用に作成されたその他のアドインの読み込みは続行されます。

ソフトな無効化

ソフトな無効化は、アドインがコンストラクタまたは Startup イベント ハンドラ内で処理できない例外をスローし、Microsoft Office アプリケーションが予期しない形で終了しないときに発生します。アプリケーションでは、現在のユーザーの現在のアドインについてのみ読み込みが無効にされる可能性があります。アプリケーションでアドインがソフトに無効化されると、そのアドインの LoadBehavior レジストリ エントリの値が 2 に設定されます。LoadBehavior エントリは、レジストリ キー HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\<application name>\Addins\<add-in name> の下にあります。このレジストリ キーの詳細については、「アプリケーション レベルのアドインのレジストリ エントリ」を参照してください。

ログ ファイルおよびエラー メッセージを使用したアドインのトラブルシューティング

Visual Studio Tools for Office ランタイムでは、起動時に発生するすべてのエラーをログ ファイルに書き込んだり、エラーが発生するたびにメッセージ ボックスに表示したりできます。既定では、これらのオプションはオフになっています。オプションを有効にするには、環境変数を作成します。

エラーが発生するたびにメッセージ ボックスに表示するには、VSTO_SUPPRESSDISPLAYALERTS という環境変数を作成し、0 (ゼロ) に設定します。メッセージが表示されないようにするには、環境変数を削除するか、1 に設定します。

エラーをログ ファイルに書き込むには、VSTO_LOGALERTS という環境変数を作成し、1 に設定します。Visual Studio Tools for Office ランタイムは、アプリケーション マニフェストを含むフォルダに、ログ ファイルを作成します。既定の名前は <Manifestname>.manifest.log です。エラーのログ記録を停止するには、この環境変数を 0 (ゼロ) に設定します。 

参照

処理手順

方法 : 無効にされたアドインを再度有効にする

方法 : Office プロジェクトのエラーを処理する

概念

アプリケーション レベルのアドインのプログラミング

その他の技術情報

Office ソリューションのビルドとデバッグ