リモート デバッグの概念
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
ファイルのその既定の検索場所により、生成されたシンボル ファイルを自動的に見つけることができます。
アプリケーションがコンパイルされて Azure にデプロイされると、Visual Studio では必要なシンボル ファイルに自動的にアクセスできないため、デバッグ中にそれらのローカル コピーを指定する必要があります。 ローカル ソース コードとシンボル ファイルは、命令が正しく並ぶように、デプロイされたコードと完全に一致する必要があります。