リモート デバッグの概念

完了

Visual Studio では、開発環境以外の他のコンピューターで実行されているアプリケーションをトラブルシューティングするための強力なリモート デバッグ ツールと機能が提供されます。 ほとんどの開発者は、ローカルでの開発時での Visual Studio デバッグ ツールの使用には慣れていますが、他の環境で実行されているアプリでは同様のエクスペリエンスを実現できない場合があります。 リモート デバッグの一般的なシナリオを以下に一覧表示します。

  • App Service インスタンスや仮想マシンなど、多くの Azure サービスのいずれかでホストされているアプリに接続してデバッグします。

  • IIS のオンプレミス サーバーからホストされているアプリをデバッグします。

  • トラブルシューティングを支援するために、別の開発用コンピューターで実行されているアプリをデバッグします。

  • Web ブラウザーなどのクライアント側プロセスにアタッチして、ローカル アプリ コンテキストの外部で実行されるコードをデバッグします。

  • 開発環境とは異なるコンテナー化された環境で実行されているアプリケーションをデバッグします。

この演習では、この一覧の最初のシナリオに焦点を当てて、Visual Studio を使用して Azure App Service で実行されているアプリをデバッグします。 App Service は、最も広く使用されている Azure サービスの 1 つであり、.NET アプリケーションをホストするための強力なオプションです。

リモート デバッグ ツールについて

リモート デバッグには、さまざまな Visual Studio ツールと機能が含まれています。 他のサーバーまたは仮想マシンにデプロイされたリモート デバッグ アプリケーションでは、Visual Studio リモート ツールのインストールが必要になる場合があります。

しかし、この演習では、Azure App Service でホストされているアプリをデバッグするので、ツールをインストールする必要はありません。 このシナリオでは、これらの種類の構成の多くは自動的に処理されます。 Visual Studio のプロセスにアタッチ機能を使用して、App Service プロセスに直接接続できます。 正しいデバッグ シンボルとソース コードが読み込まれていると仮定すると、コンピューター上でローカルに実行されているかのようにアプリケーションをデバッグできます。

シンボル ファイルの概要

Visual Studio では、他のコンピューターまたは環境で実行されているアプリケーションをデバッグするために、ソース コードのシンボル ファイルが必要です。 シンボル ファイルは、ビルド プロセスの一部として bin ディレクトリに作成され、末尾に .pdb 拡張子が付いています。 つまり、シンボル ファイルでは、コンパイルされたコードとソース コードの間の命令ブリッジが提供されます。 Visual Studio デバッガーではシンボル ファイルを使用して、コンパイルされたバージョンの実行中にソース コードを 1 行ずつステップ実行します。 ローカルで実行およびデバッグしている場合、Visual Studio では、.pdb ファイルのその既定の検索場所により、生成されたシンボル ファイルを自動的に見つけることができます。

A diagram of the build and symbols process.

アプリケーションがコンパイルされて Azure にデプロイされると、Visual Studio では必要なシンボル ファイルに自動的にアクセスできないため、デバッグ中にそれらのローカル コピーを指定する必要があります。 ローカル ソース コードとシンボル ファイルは、命令が正しく並ぶように、デプロイされたコードと完全に一致する必要があります。