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

適用于:是Visual Studio否Visual Studio for Mac否Visual Studio Code

Visual Studio 偵錯工具提供許多強大的功能,可協助您偵錯應用程式。 本主題提供了解一些基本功能的快速方法。

建立新專案

  1. 開啟 Visual Studio。

    Esc 關閉開始視窗。 鍵入 Ctrl + Q 開啟 [搜尋] 方塊,鍵入 asp.net,選擇 [範本],然後選擇 [建立新的 ASP.NET Core Web 應用程式]。 在出現的對話方塊中選擇 [建立]

    如果您看不到 [ASP.NET Core Web 應用程式] 專案範本,請移至 [工具]>[取得工具與功能...],以開啟 Visual Studio 安裝程式。 選擇 [ASP.NET 與網頁程式開發] 工作負載,然後選擇 [修改]

    Visual Studio 會建立專案。

  2. 在 [方案總管] 中,開啟 About.cshtml.cs (在 Pages/About.cshtml 之下),並取代下列程式碼

    public void OnGet()
    {
        Message = "Your application description page.";
    }
    

    使用此程式碼取代:

    public void OnGet()
    {
        LinkedList<int> result = doWork();
        Message = "Result of work: " + result.First.Value + ", " + result.First.Value;
    }
    
    private static LinkedList<int> doWork()
    {
        LinkedList<int> c1 = new LinkedList<int>();
    
        c1.AddLast(10);
        c1.AddLast(20);
    
        LinkedList<int> c2 = new LinkedList<int>(c1);
    
        return c2;
    
    }
    

設定中斷點

「中斷點」是一種標記,會指出 Visual Studio 應暫停程式碼執行的地方,如此一來您可以查看變數值或記憶體行為,或查看程式碼分支是否正在執行。 它是偵錯中最基本的功能。

  1. 若要設定中斷點,請按一下 doWork 函式左側的裝訂邊 (或選取該行程式碼並按 F9 鍵)。

    設定中斷點

    中斷點設定在左大括弧 ({) 的左側。

  2. 現在按 F5 (,或選擇 [ > 偵錯開始 偵錯]) 。

  3. 當網頁載入時,請按一下網頁頂端的 [關於] 連結。

    偵錯工具會在您設定中斷點的地方暫停。 暫停偵錯工具和應用程式執行所在的陳述式會以黃色箭號指示。 在 doWork 函式宣告之後具有左大括弧 ({) 的該程式碼行尚未執行。

    叫用中斷點

    提示

    如果在迴圈或遞迴中有中斷點,或是您有很多經常逐步執行的中斷點,請使用條件中斷點,以確保程式碼只在符合特定條件時暫停。 這可節省時間,也可以讓您更輕鬆地偵錯難以重現的問題。

您可以透過不同的命令來指示偵錯工具繼續。 我們會示出 Visual Studio 2017 開始可用的實用程式碼導覽命令。

在中斷點暫停時,將滑鼠停留在 語句 return c2 上,直到綠色的 [ 執行]按鈕按一下 [ 按一下] 按鈕出現為止,然後按 [ 執行] 按一下 按鈕。

執行 以按一下

應用程式會繼續執行,並在您按下按鈕所在的程式碼行暫停。

用來逐步執行程式碼的常用鍵盤命令包括 F10F11。 如需詳細指示,請參閱偵錯工具簡介

在資料提示中檢查變數

  1. 在目前這一行程式碼中 (以黃色執行指標標示),使用滑鼠將滑鼠游標移至 c2 物件上方以顯示資料提示。

    檢視資料提示

    資料提示顯示 c2 變數的目前值,並可讓您檢查其屬性。 偵錯時,如果您看到非預期的值,則前面的數行程式碼或呼叫的數行程式碼可能有 Bug。

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

  3. 如果您想要釘選資料提示,以便在執行程式碼時繼續查看 c2 的值,請按一下釘選小圖示 (您可以將所釘選資料提示移至方便存取的位置)。

編輯程式碼並繼續偵錯

如果您在偵錯工作階段期間,於程式碼中找到要測試的變更,您也可以這麼做。

  1. OnGet 方法中,按一下 result.First.Value 的第二個執行個體,並將 result.First.Value 變更為 result.Last.Value

  2. F10 (或 > 偵錯逐步執行) 數次,以進階偵錯工具並執行編輯的程式碼。

    編輯並繼續編輯並繼續

    F10 鍵可讓偵錯工具一次前進一個陳述式,但不進入函式,藉此取代逐步執行 (您略過的程式碼仍會執行)。

如需使用編輯後繼續和功能限制的詳細資訊,請參閱編輯後繼續

下一步

在本教學課程中,您已了解如何啟動偵錯工具、逐步執行程式碼,以及檢查變數。 建議您進一步查看偵錯工具功能,以及詳細資訊的連結。