本文說明如何將 Visual Studio 偵錯工具附加至 Azure App Service 上執行的 ASP.NET Core 應用程式。 下列步驟可讓您偵錯應用程式,就像在本機執行一樣。
先決條件
Visual Studio 2022,已安裝 ASP.NET 和 Web 開發 ,以及 Azure 開發 工作負載。
您必須先從 Visual Studio 將 ASP.NET Core 應用程式部署至 Azure App Service (Windows),而且應用程式必須正在執行。
在發佈之前,您在 Visual Studio 中的發佈設定檔必須設定為 Debug 版本,而不是 Release 版本。
啟用遠端偵錯
您必須先啟用 App Service 上的遠端偵錯功能,才能使用 Visual Studio 偵錯此問題。 此設定可讓 Visual Studio 偵錯工具連線到主要 App Service Web 裝載程式。
登入您自己的 Azure 入口網站。
在 Azure 入口網站中找出已部署的應用程式。 您可以流覽至 [App Services ] 頁面,然後選取 App Service 執行個體,以尋找您的應用程式。 您也可以在頂端搜尋列中直接以名稱搜尋 App Service 執行個體。 (在此範例中,App Service 執行個體名為 GitHubBrowser123。
在 App Service 執行個體的設定頁面上,選取左側導覽中的 [ 設定 ],然後選擇 [ 一般設定 ] 索引標籤。
在頁面底部,請務必將 [ 遠端偵錯 ] 功能設定為 [ 開啟 ],並選取 [Visual Studio 2022 ] 作為 [ 遠端 Visual Studio 版本]。
選取頁面頂端的 [儲存] 以保留您的變更。
您的應用程式服務執行個體現在支援透過 Visual Studio 進行遠端偵錯。
設定偵錯設定
毫無錯誤地建置您的應用程式。 如果您的應用程式在本機執行,請停止它。
備註
請確定本機程式碼的狀態符合部署至 Azure 的狀態。 這可確保本機符號檔和原始程式碼與已部署的應用程式對齊。
從頂端 Visual Studio 功能表中選取 [偵錯>選項]。 確保「 啟用只限我的程式碼 」 未勾選 (如下圖所示),然後選擇 確定。
變更此設定可讓 Visual Studio 使用本機 bin 資料夾中的必要符號檔來偵錯部署至 Azure 的最佳化程式碼。 偵錯工具會使用符號檔作為已編譯、執行程式碼與 Visual Studio 中原始程式碼之間的橋接器。 遠端偵錯需要相符的符號檔。
將偵錯工具附加至 App Service
從 Visual Studio 頂端的主功能表中,選取 [偵錯 > 附加至處理程序 ] 以開啟對應的對話方塊。 使用此視窗,您可以連接並附加至不同的目標。 在此情況下,您會連線到您在上一個步驟中建立的 App Service 執行個體。
選取 [連線類型] 下拉式清單,然後選擇 [ Microsoft Azure App Services ] 選項。
選取 [連線目標] 欄位旁的 [尋找....] 以開啟對話方塊,讓您瀏覽 Azure 訂用帳戶和應用程式服務。
如果您尚未使用 Azure 訂用帳戶登入,請選取 [尋找... ],然後您可以 登入。
找出並選取您在上一個步驟中建立的 App Service 執行個體,然後選擇 [ 確定]。
該
w3wp.exe進程應出現在要連線的可用進程清單中。w3wp.exe是裝載已部署應用程式之 Azure App Service 的主要進程。 選取w3wp.exe程序,然後選擇右下角的Attach。在 C# 應用程式檔案
Index.cshtml.cs中,例如 ,按一下左邊界來設定中斷點。 或者,按一下滑鼠右鍵,然後選擇 [中斷點>][插入中斷點]。在 Web 應用程式中,流覽至具有中斷點的端點。 如果您已附加到程序,但無法命中中斷點,請確定 Visual Studio 中的發佈設定檔已設定為偵錯設定,而不是發行設定。
選擇性:確認 Visual Studio 已載入偵錯工作階段的符號檔。 流覽至 [偵錯 > Windows > 模組 ] 以開啟模組視窗。 此視窗表示符號檔在您稍早所做的 [僅我的程式碼 設定變更] 之後成功載入。
備註
若要對應用程式服務進行後續偵錯,請選取 [偵錯>重新附加至 w3wp.exe ],或使用 Shift+Alt+P 快速鍵。