在這篇快速入門中,你將探討如何使用 Visual Studio 除錯器來除錯你的 ASP.NET Core 應用程式程式碼。 本文提供快速學習除錯器基本功能的方法。
如果你還沒有Visual Studio,可以從Visual Studio下載頁面安裝免費試用版。
建立新專案
先建立一個新專案,這樣你就有一些程式碼可以在除錯器裡檢查。
開啟 Visual Studio 並建立新的專案。
如果 開始視窗 沒開啟,請選擇 檔案>開始視窗。
在開始視窗中,選擇 建立新專案。
在 「建立新專案 」視窗中,設定篩選條件並搜尋專案範本。
在 搜尋範本 框中輸入 網頁應用程式。
展開 語言 下拉選單,選擇 C#。
在結果列表中,選擇 ASP.NET Core 網頁應用程式(Razor Pages) C# 模板,然後選擇 Next。
如果你沒看到 ASP.NET Core 網頁應用程式(Razor Pages) 的 C# 模板,請選擇 Continue without code 選項。
選擇 Tools>取得工具與功能...,這會開啟Visual Studio安裝程式。
在安裝程式視窗中,勾選
ASP.NET 和網頁開發 工作負載的勾選框,然後選擇 Modify 。你的 Visual Studio 安裝會更新,包含所選的 ASP.NET 工作負載。
更新完成後,選擇 檔案>開始視窗,並依 照前述指示 選擇所需的範本。
設定新專案:
輸入 Project 名稱 和 Solution 名稱,或使用預設值。
使用預設 的位置 或選擇瀏覽(...)來建立專案到另一個資料夾。
選取 下一步。
使用推薦的目標Framework(預設為 .NET 10.0 長期支援)。
其他設定則使用預設值。
選取 ,創建。
Visual Studio 會建立你的新專案,並將專案檔案加入指定的資料夾。
更新專案程式碼
更新專案範本中提供的一些程式碼,讓你有更多陳述可以在除錯器中測試。
在 方案總管 窗格中,展開 <project-name>\Pages 節點,選擇 Privacy.cshtml 項目。
Privacy.cshtml 檔案會在程式碼編輯器中開啟。
在檔案中找到以下程式碼區段,並以提供的摘要替換:
@{ ViewData["Title"] = "Privacy Policy"; }替換片段:
@{ ViewData["Title"] = "Privacy Policy"; <label>@PrivacyModel.PrivacyMessage</label> }在 方案總管 中,展開 <project-name>\Pages\Privacy.cshtml節點,選擇 Privacy.cshtml.cs 項目。
Privacy.cshtml.cs 檔案會在程式碼編輯器中開啟。
在檔案中找到以下程式碼區段,並以提供的摘要替換:
public void OnGet() { }替換片段:
public static string? PrivacyMessage { get; set; } public void OnGet() { LinkedList<int> result = DoWork(); PrivacyMessage = "Result of work: " + result.First.Value + ", " + result.First.Value; } private static LinkedList<int> DoWork() { LinkedList<int> c1 = new(); c1.AddLast(10); c1.AddLast(20); LinkedList<int> c2 = new(c1); return c2; }
設定中斷點
中斷點是一種標記,用來指出 Visual Studio 應在哪裡暫停您正在執行的程式碼。 當斷點設定時,你可以查看變數目前的值,檢視記憶體的行為,並檢查是否有特定分支的程式碼在執行。 斷點是除錯中最基本的功能。
若要設定中斷點,請在程式碼中找出對
DoWork函式的呼叫,然後選取同一行左側邊欄中的位置。設定中斷點後,程式碼中對應的那一行左側邊欄會顯示一個紅點。
使用 F5 鍵快捷鍵開始除錯(或選擇 除錯>開始除錯)。
當網頁在瀏覽器視窗開啟時,請選擇頁面頂端的 隱私 連結。
程式碼執行會在呼叫
DoWork函式前立即暫停。偵錯工具會在您設定的斷點處暫停。 黃色箭頭標示除錯器暫停應用程式執行的語句。
設定條件斷點
如果你在迴圈或遞迴中設定斷點,或是你有許多經常跨入的斷點,請使用 條件斷點。
此方法有助於確保 只有在符合 特定條件時,程式碼才會被暫停。 條件斷點可以節省時間,也讓難以重現的問題更容易除錯。
逐一檢視你的程式碼
Visual Studio 提供多種方式指示除錯器繼續執行應用程式。 以下範例顯示一個實用的指令,用來逐步檢視你的程式碼。
當程式碼在中斷點暫停時,將游標停留在陳述式 return c2; 上,直到看見綠色的 按一下即可執行至此(將執行移至此處)
圖示。 選擇圖示。
應用程式繼續執行,並在你點擊按鈕的程式碼行上暫停。
用來逐步執行程式碼的常用鍵盤命令包括 F10 和 F11。 如需更深入的指示,請參閱 第一次查看調試程式。
檢查資料提示中的變數
你可以利用 資料提示 功能檢查變數的狀態。
在目前程式碼行(以黃色執行指標標記)中,將滑鼠移到
c2物件上方即可看到資料提示。
數據提示會顯示變數的
c2目前值,並可讓您檢查其屬性。在除錯時,如果你看到某個變數的值出乎預期,那很可能表示程式有錯誤。 錯誤可能出在呼叫變數的程式碼,或是前一行。
展開資料提示以查看
c2物件的目前屬性值。若要在程式碼執行時繼續檢查
c2的值,請選取資料提示上的 圖釘
圖示。針腳動作會讓資料尖端保持開啟。 當程式碼執行時,釘選尖端的值會改變,顯示被監視物件的當前狀態。
你可以將釘選的提示移到 IDE 中的任何位置,這樣在除錯時就不會妨礙你查看其他項目。