次の方法で共有


ASP.NET Core リモート デバッグ (Windows) を Azure App Service 上で実行する

この記事では、Azure App Service で実行されている ASP.NET Core アプリに Visual Studio デバッガーをアタッチする方法について説明します。 次の手順では、アプリをローカルで実行しているかのようにデバッグできます。

[前提条件]

  • ASP.NET および Web 開発とAzure 開発ワークロードがインストールされた Visual Studio 2022。

  • まず、Visual Studio から Azure App Service (Windows) に ASP.NET Core アプリをデプロイし、アプリが実行されている必要があります。

  • 発行する前に、Visual Studio の発行プロファイルを [リリース] ではなく [デバッグ] に設定する必要があります。

リモート デバッグを有効にする

Visual Studio でこの問題をデバッグするには、App Service でリモート デバッグ機能を有効にする必要があります。 この設定により、Visual Studio デバッガーはメインの App Service Web ホスティング プロセスに接続できます。

  1. 独自の Azure portal にサインインします。

    Azure portal でデプロイされたアプリケーションを見つけます。 App Services ページを参照し、 App Service インスタンスを選択すると、アプリを見つけることができます。 上部の検索バーで、名前で直接 App Service インスタンスを検索することもできます。 (この例では、App Service インスタンスの名前は GitHubBrowser123 です)。

    Azure Search のスクリーンショット。

  2. App Service インスタンスの設定ページで、左側のナビゲーションで [構成 ] を選択し、[ 全般設定] タブを選択します。

  3. ページの下部で、リモート デバッグ機能を [オン] に設定し、リモート Visual Studio バージョンとして Visual Studio 2022 を選択してください。

    Azure リモート デバッグ設定のスクリーンショット。

  4. ページの上部にある [保存] を選択して、変更を保持します。

App Service インスタンスで、Visual Studio を使用したリモート デバッグがサポートされるようになりました。

デバッグ設定の構成

  1. エラーなしでアプリをビルドします。 アプリがローカルで実行されている場合は停止します。

    ローカル コードの状態が、Azure にデプロイされたものと一致していることを確認します。 これにより、ローカル シンボル ファイルとソース コードが、デプロイされたアプリと一緒に並びます。

  2. Visual Studio の上部メニューから [ デバッグ > オプション] を 選択します。 [ マイ コードのみ有効にする]オフ になっていることを確認し (次の図に示すように)、[OK] を選択 します

    この設定を変更すると、Visual Studio では、ローカル bin フォルダーから必要なシンボル ファイルを使用して、Azure にデプロイされた最適化されたコードをデバッグできます。 シンボル ファイルは、Visual Studio でコンパイルされ、実行されるコードとソース コードの間のブリッジとしてデバッガーによって使用されます。 リモート デバッグには、一致するシンボル ファイルが必要です。

    Visual Studio のデバッグ設定のスクリーンショット。

    Visual Studio のデバッグ設定のスクリーンショット。

デバッガーを App Service にアタッチする

  1. Visual Studio の上部にあるメイン メニューから、[ デバッグ] > [プロセスにアタッチ] を選択して、対応するダイアログを開きます。 このウィンドウを使用すると、さまざまなターゲットに接続してアタッチできます。 この場合は、前の手順で作成した App Service インスタンスに接続します。

  2. [ 接続の種類 ] ドロップダウンを選択し、[ Microsoft Azure App Services ] オプションを選択します。

  3. [接続ターゲット] フィールドの横にある [検索] を選択して、Azure サブスクリプションとアプリ サービスを参照できるダイアログを開きます。

    Azure サブスクリプションでまだサインインしていない場合は、[ 検索]、[..] の順に選択し、 サインインできます。

  4. 前の手順で作成した App Service インスタンスを見つけて選択し、[ OK] を選択します。

  5. w3wp.exe プロセスは、接続できるプロセスの一覧に表示されます。 w3wp.exe は、デプロイされたアプリケーションをホストする Azure App Service のメイン プロセスです。 w3wp.exeプロセスを選択し、右下にある [アタッチ] を選択します。

    プロセス機能へのアタッチのスクリーンショット。

  6. Index.cshtml.csなどの C# アプリケーション ファイルで、左余白をクリックしてブレークポイントを設定します。 または、右クリックして [ ブレークポイント>ブレークポイントの挿入] を選択します。

  7. Web アプリで、ブレークポイントを使用してエンドポイントに移動します。 プロセスにアタッチされていてもブレークポイントにヒットできない場合は、Visual Studio の発行プロファイルがリリース構成ではなくデバッグ構成に設定されていることを確認します。

  8. 省略可能: Visual Studio によってデバッグ セッションのシンボル ファイルが読み込まれたことを確認します。 Windows > モジュール>デバッグに移動して、モジュール ウィンドウを開きます。 このウィンドウは、前に行ったマイ コード 構成の変更後にシンボル ファイルが正常に読み込まれたことを示します。

    シンボル ファイル ウィンドウのスクリーンショット。

アプリ サービスの後続のデバッグを行うには、デバッグ>w3wp.exe に再アタッチを選択するか、Shift+Alt+P ホットキーを使用します。