Web ページのデバッグの概要
更新 : 2007 年 11 月
ASP.NET Page Framework には、Web アプリケーションをデバッグするための広範なサポートが用意されています。ただし、Web アプリケーションは分散されているため、デバッグに関する固有の問題がいくつかあります。
一般的に、Web アプリケーションのデバッグは、ほかの種類の Visual Studio アプリケーションの場合と同じ方法で行います。ブレークポイントの設定、デバッガの開始、コードの中止、変数の確認、および Visual Studio デバッガに関連付けられた機能をすべて実行できます。詳細については、「デバッガのロードマップ」を参照してください。また、ASP.NET Page Framework には、フォームに実装メッセージを挿入できるトレース モードが用意されています。詳細については、「チュートリアル : Web ページ エラーの検索に役立つ Visual Web Developer でのトレースの使用」および「チュートリアル : ASP.NET トレースと System.Diagnostics トレースの統合」を参照してください。
デバッガの設定
Web アプリケーションをデバッグするには、デバッグが行われるコンピュータに固有のコンポーネントが必要です。また、デバッグするための適切なアクセス許可も必要です。
ローカル コンピュータの設定
Web アプリケーションをローカル コンピュータで実行している場合、つまり、使用しているコンピュータに Web サーバーがある場合は、そのコンピュータに適切なコンポーネントが自動的に含まれています。
ただし、その場合でも、デバッグを行うために必要なアクセス許可を持っていることは必要です。ユーザーは、自分のユーザー ID アカウントで実行されているプロセスのデバッグを行うアクセス許可は与えられていますが、他のユーザーのプロセスのデバッグはできません。管理者は、すべてのプロセスのデバッグを行うことができます。
リモート コンピュータの設定
Web サーバーが別のコンピュータにあるリモート サーバーの場合は、そのコンピュータが適切に設定されていることを確認する必要があります。確認作業は次のとおりです。
使用しているコンピュータとサーバーの両方に DCOM がインストールされていることを確認します。一般に、Windows 2000 と Windows Server 2003 には DCOM があらかじめインストールされているため、使用しているコンピュータでの確認作業は通常は必要ありません。
Visual Studio サーバー側のコンポーネントをリモート コンピュータにインストールします。この作業を行うには、Visual Studio インストール プロセスをリモート コンピュータ上で実行し、サーバー コンポーネントのオプションを選択します。
デバッグを行う全ユーザーが、Web サーバー プロセスにアタッチするために必要なアクセス許可を得ていることを確認します。つまり、サーバー プロセスをユーザー (偽装) として実行するか、デバッグするユーザーが Web サーバーの管理者権限を持つ必要があります。サーバーの管理者権限をユーザーに与えると、セキュリティ ポリシーを保持できなくなる可能性があります。ASP.NET 偽装は、アプリケーションの Web.config ファイルの identity 要素を使って制御できます。詳細については、「<identity> 要素」を参照してください。
リモート デバッグの設定方法の詳細については、「リモート サーバーの Web アプリケーションのデバッグ」を参照してください。
ローカル コンピュータまたはリモート コンピュータのどちらで実行する場合も、使用する Web アプリケーションに対してデバッグを有効にする必要があります。これは、Web アプリケーション プロジェクトの一部である Web.config ファイルの compilation 要素 (ASP.NET 設定スキーマ) 要素で行います。この設定によって、コンパイラがアプリケーションのコンパイル済みコードにデバッグ記号を挿入するため、そのデバッグ記号を使ってデバッガを使用できます。デバッグは、Web サイト管理ツールを使用して有効にします。詳細については、「チュートリアル : Visual Web Developer での Web ページのデバッグ」を参照してください。
クライアント スクリプトのデバッグ
サーバーで動作する Web アプリケーションのコードとは異なり、クライアント スクリプトはブラウザ内で動作します。クライアント スクリプトは、Visual Studio デバッガを使用してデバッグできます。このデバッガでは、サーバー コードからクライアント スクリプトに対する実行は行うことができませんが、クライアント スクリプトに対するその他のデバッグ機能をほとんどサポートしています。
さまざまな方法で、クライアント スクリプトをデバッグできます。Visual Studio 内でデバッガ コマンドを使用し、ブラウザ プロセス (Iexplore.exe) にアタッチしたり、スクリプトを中止したりできます。ほかのコードの場合と同じようにデバッガを使用できます。
詳細については、「クライアント側スクリプトのデバッグのロードマップ」および「方法 : クライアント側スクリプトのデバッグを有効にする」を参照してください。