快速入門:使用 Visual Studio 偵錯工具偵錯 ASP.NET Core

在這篇快速入門中,你將探討如何使用 Visual Studio 除錯器來除錯你的 ASP.NET Core 應用程式程式碼。 本文提供快速學習除錯器基本功能的方法。

如果你還沒有Visual Studio,可以從Visual Studio下載頁面安裝免費試用版。

建立新專案

先建立一個新專案,這樣你就有一些程式碼可以在除錯器裡檢查。

  1. 開啟 Visual Studio 並建立新的專案。

    • 如果 開始視窗 沒開啟,請選擇 檔案>開始視窗。

    • 在開始視窗中,選擇 建立新專案。

  2. 在 「建立新專案 」視窗中,設定篩選條件並搜尋專案範本。

    • 在 搜尋範本 框中輸入 網頁應用程式。

    • 展開 語言 下拉選單,選擇 C#。

  3. 在結果列表中,選擇 ASP.NET Core 網頁應用程式(Razor Pages) C# 模板,然後選擇 Next。

    如果你沒看到 ASP.NET Core 網頁應用程式(Razor Pages) 的 C# 模板,請選擇 Continue without code 選項。

    1. 選擇 Tools>取得工具與功能...,這會開啟Visual Studio安裝程式。

    2. 在安裝程式視窗中,勾選 ASP.NET 和網頁開發 工作負載的勾選框,然後選擇 Modify。

      你的 Visual Studio 安裝會更新,包含所選的 ASP.NET 工作負載。

    3. 更新完成後,選擇 檔案>開始視窗,並依 照前述指示 選擇所需的範本。

  4. 設定新專案:

    1. 輸入 Project 名稱 和 Solution 名稱,或使用預設值。

    2. 使用預設 的位置 或選擇瀏覽(...)來建立專案到另一個資料夾。

    3. 選取 下一步。

    4. 使用推薦的目標Framework(預設為 .NET 10.0 長期支援)。

    5. 其他設定則使用預設值。

    6. 選取 ,創建。

    Visual Studio 會建立你的新專案,並將專案檔案加入指定的資料夾。

更新專案程式碼

更新專案範本中提供的一些程式碼,讓你有更多陳述可以在除錯器中測試。

  1. 在 方案總管 窗格中,展開 <project-name>\Pages 節點,選擇 Privacy.cshtml 項目。

    Privacy.cshtml 檔案會在程式碼編輯器中開啟。

  2. 在檔案中找到以下程式碼區段,並以提供的摘要替換:

    @{
     ViewData["Title"] = "Privacy Policy";
    }
    

    替換片段:

    @{
     ViewData["Title"] = "Privacy Policy";
     <label>@PrivacyModel.PrivacyMessage</label>
    }
    
  3. 在 方案總管 中,展開 <project-name>\Pages\Privacy.cshtml節點,選擇 Privacy.cshtml.cs 項目。

    Privacy.cshtml.cs 檔案會在程式碼編輯器中開啟。

  4. 在檔案中找到以下程式碼區段,並以提供的摘要替換:

    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 應在哪裡暫停您正在執行的程式碼。 當斷點設定時,你可以查看變數目前的值,檢視記憶體的行為,並檢查是否有特定分支的程式碼在執行。 斷點是除錯中最基本的功能。

  1. 若要設定中斷點,請在程式碼中找出對 DoWork 函式的呼叫,然後選取同一行左側邊欄中的位置。

    設定中斷點後,程式碼中對應的那一行左側邊欄會顯示一個紅點。

    截圖,展示如何在Visual Studio除錯器中設定中斷點。

    截圖,顯示如何在 2022 Visual Studio 除錯器中設定中斷點。

  2. 使用 F5 鍵快捷鍵開始除錯(或選擇 除錯>開始除錯)。

  3. 當網頁在瀏覽器視窗開啟時,請選擇頁面頂端的 隱私 連結。

    程式碼執行會在呼叫 DoWork 函式前立即暫停。

    偵錯工具會在您設定的斷點處暫停。 黃色箭頭標示除錯器暫停應用程式執行的語句。

    顯示除錯器在 Visual Studio 中於已設定的中斷點處暫停的螢幕擷取畫面。

    顯示 Visual Studio 2022 中除錯器在已設定的中斷點處暫停的螢幕擷取畫面。

設定條件斷點

如果你在迴圈或遞迴中設定斷點,或是你有許多經常跨入的斷點,請使用 條件斷點。

此方法有助於確保 只有在符合 特定條件時,程式碼才會被暫停。 條件斷點可以節省時間,也讓難以重現的問題更容易除錯。

逐一檢視你的程式碼

Visual Studio 提供多種方式指示除錯器繼續執行應用程式。 以下範例顯示一個實用的指令,用來逐步檢視你的程式碼。

當程式碼在中斷點暫停時,將游標停留在陳述式 return c2; 上,直到看見綠色的 按一下即可執行至此(將執行移至此處) 圖示。 選擇圖示。

顯示如何在 Visual Studio 偵錯工具中使用「執行至點擊處」功能的螢幕擷取畫面。

顯示如何在 Visual Studio 2022 除錯器中使用「執行至點選」動作的螢幕擷取畫面。

應用程式繼續執行,並在你點擊按鈕的程式碼行上暫停。

用來逐步執行程式碼的常用鍵盤命令包括 F10 和 F11。 如需更深入的指示,請參閱 第一次查看調試程式。

檢查資料提示中的變數

你可以利用 資料提示 功能檢查變數的狀態。

  1. 在目前程式碼行(以黃色執行指標標記)中,將滑鼠移到 c2 物件上方即可看到資料提示。

    截圖,展示如何在Visual Studio除錯器中查看程式碼變數的資料提示。

    截圖,展示如何在 Visual Studio 2022 除錯器中查看程式碼變數的資料提示。

    數據提示會顯示變數的 c2 目前值,並可讓您檢查其屬性。

    在除錯時,如果你看到某個變數的值出乎預期,那很可能表示程式有錯誤。 錯誤可能出在呼叫變數的程式碼,或是前一行。

  2. 展開資料提示以查看 c2 物件的目前屬性值。

  3. 若要在程式碼執行時繼續檢查 c2 的值,請選取資料提示上的 圖釘 圖示。

    針腳動作會讓資料尖端保持開啟。 當程式碼執行時,釘選尖端的值會改變,顯示被監視物件的當前狀態。

    你可以將釘選的提示移到 IDE 中的任何位置,這樣在除錯時就不會妨礙你查看其他項目。

後續步驟