共用方式為


教學課程:了解如何使用 Visual Studio 對 Visual Basic 程式碼進行偵錯

本文以逐步解說介紹 Visual Studio 偵錯工具的功能。 如果您希望檢視偵錯工具功能的概要,請參閱偵錯工具簡介。 當您偵錯您的應用程式,通常表示您正在執行附加偵錯工具的應用程式。 執行此工作時,偵錯工具會提供許多方式來查看您程式碼所執行的功能。 您可以逐步執行程式碼並查看儲存在變數中的值、可以設定變數的監看式以查看值變更、可以檢查程式碼的執行路徑,查看是否正在執行程式碼的分支,依此類推。 如果此練習是您第一次嘗試偵錯程式碼,您可能想要先閱讀適合完全初學者的偵錯,再瀏覽本文。

雖然示範應用程式是 Visual Basic,但大部分功能都適用於 C#、C++、F#、Python、JavaScript,以及 Visual Studio 所支援其他語言(F# 不支援「編輯後繼續」。F# 和 JavaScript 不支援 [自動變數] 視窗)。 螢幕擷取畫面位於 Visual Basic 中。

在此教學課程中,您需要:

  • 啟動偵錯工具,並叫用中斷點。
  • 了解命令以在偵錯工具中逐步執行程式碼
  • 檢查資料提示和偵錯工具視窗中的變數
  • 檢查呼叫堆疊

必要條件

您必須安裝 Visual Studio 2019 和 .NET Core 跨平台開發工作負載。

如果您尚未安裝 Visual Studio,請前往 Visual Studio 下載頁面免費進行安裝。

如果您需要安裝工作負載,但已安裝 Visual Studio,請移至 [工具]>[取得工具與功能...],以開啟 Visual Studio 安裝程式。 Visual Studio 安裝程式即會啟動。 選擇 [.NET Core 跨平台開發] 工作負載,然後選擇 [修改]

如果您尚未安裝 Visual Studio,請前往 Visual Studio 下載頁面免費進行安裝。

如果您需要安裝工作負載,但已安裝 Visual Studio,請移至 [工具]>[取得工具與功能...],以開啟 Visual Studio 安裝程式。 Visual Studio 安裝程式即會啟動。 選擇 [.NET 桌面開發] 工作負載,然後選擇 [修改]

建立專案

首先,您會建立 .NET Core 主控台應用程式專案。 此專案類型隨附您需要的所有範本檔案,甚至是在您新增任何項目之前便已完備!

  1. 開啟 Visual Studio。 如果開始視窗未開啟,請選取 [檔案] > [開始視窗]

  2. 在 [開始] 視窗上,選取 [建立新專案]

  1. 在 [建立新專案] 視窗的搜尋方塊中輸入 console。 接下來,從語言清單中選擇 Visual Basic,然後從平台清單中選擇 Windows

    在您套用語言和平台的篩選條件之後,請選擇 .NET Core 的 [主控台應用程式] 範本,然後選取 [下一步]

    Screenshot showing the Create a new project window with 'console' in the search box, and 'Visual Basic' and 'Windows' selected for the Language and Platform filters. The Console Application project template is selected.

    注意

    如果您未看到 [主控台應用程式] 範本,您可以從 [建立新專案] 視窗中安裝。 在 [找不到你要尋找的項目嗎?] 訊息中,選擇 [安裝更多工具和功能] 連結。 接下來,在 Visual Studio 安裝程式中選擇 .NET Core 跨平台開發工作負載。

  2. 在 [設定您的新專案] 視窗的 [專案名稱] 方塊中,輸入 get-started-debugging。 然後選取下一步

  3. 選取建議的目標架構 (.NET 8.0 或長期支援),然後選取 [建立]

  1. 在 [建立新專案] 視窗的搜尋方塊中輸入 console。 接下來,從語言清單中選擇 Visual Basic,然後從平台清單中選擇 Windows

    在您套用語言和平台的篩選條件之後,請選擇 .NET Core 的 [主控台應用程式] 範本,然後選取 [下一步]

    Screenshot showing the Create a new project window with 'console' in the search box, and 'Visual Basic' and 'Windows' selected for the Language and Platform filters. The Console Application project template is selected.

    注意

    如果您未看到 [主控台應用程式] 範本,您可以從 [建立新專案] 視窗中安裝。 在 [找不到你要尋找的項目嗎?] 訊息中,選擇 [安裝更多工具和功能] 連結。 然後,在 Visual Studio 安裝程式中選擇 [.NET 桌面開發] 工作負載。

  2. 在 [設定您的新專案] 視窗的 [專案名稱] 方塊中,輸入 get-started-debugging。 然後選取下一步

  3. 在 [其他資訊] 視窗中,確認已在 [架構] 下拉式功能表中選取 [.NET 8.0],然後選取 [建立]

Visual Studio 會隨即開啟您的新專案。

建立應用程式

Program.vb中,請改用下列程式碼取代所有預設程式碼:

Imports System

Class ArrayExample
  Public Shared Sub Main()
    Dim letters As Char() = {"f"c, "r"c, "e"c, "d"c, " "c, "s"c, "m"c, "i"c, "t"c, "h"c}
    Dim name As String = ""
    Dim a As Integer() = New Integer(9) {}

    For i As Integer = 0 To letters.Length - 1
      name += letters(i)
      a(i) = i + 1
      SendMessage(name, a(i))
    Next

    Console.ReadKey()
  End Sub

  Private Shared Sub SendMessage(ByVal name As String, ByVal msg As Integer)
    Console.WriteLine("Hello, " & name & "! Count to " & msg)
  End Sub
End Class

啟動偵錯工具!

  1. F5 ([偵錯] > [開始偵錯]) 或偵錯工具列中的 [開始偵錯] 按鈕

    F5 鍵會啟動應用程式並將偵錯工具附加至應用程式處理序,但目前我們還沒有做任何特別動作來檢查程式碼。 因此應用程式只會載入,且您會看到主控台輸出。

    Hello, f! Count to 1
    Hello, fr! Count to 2
    Hello, fre! Count to 3
    Hello, fred! Count to 4
    Hello, fred ! Count to 5
    Hello, fred s! Count to 6
    Hello, fred sm! Count to 7
    Hello, fred smi! Count to 8
    Hello, fred smit! Count to 9
    Hello, fred smith! Count to 10
    

    在本教學課程中,我們將使用偵錯工具仔細查看這個應用程式,並了解偵錯工具功能。

  2. 按下紅色停止按鈕 (Shift + F5) 來停止偵錯工具。

  3. 在主控台視窗中,按下按鍵以關閉主控台視窗。

  1. F5 (偵錯>開始偵錯) 或選取 [偵錯] 工具列中的綠色 [開始偵錯] 按鈕。

    Screenshot showing the Debug Toolbar with the green Start Debugging button highlighted.

    F5 鍵會啟動應用程式並將偵錯工具附加至應用程式處理序,但目前我們還沒有做任何特別動作來檢查程式碼。 因此應用程式只會載入,且您會看到主控台輸出。

    Hello, f! Count to 1
    Hello, fr! Count to 2
    Hello, fre! Count to 3
    Hello, fred! Count to 4
    Hello, fred ! Count to 5
    Hello, fred s! Count to 6
    Hello, fred sm! Count to 7
    Hello, fred smi! Count to 8
    Hello, fred smit! Count to 9
    Hello, fred smith! Count to 10
    

    在本教學課程中,我們將使用偵錯工具仔細查看這個應用程式,並了解偵錯工具功能。

  2. 按下 (Shift + F5) 或選取 [偵錯工具列] 中的紅色 [停止偵錯] 按鈕,以停止偵錯工具。

    Screenshot showing the Debug Toolbar with the red Stop Debugging button highlighted.

  3. 在主控台視窗中,按下按鍵以關閉主控台視窗。

設定中斷點,並啟動偵錯工具

  1. Main 函式的 For 迴圈中,按一下下列程式碼行的左邊界來設定中斷點:

    name += letters(i)

    您設定中斷點的位置會出現紅色圓圈

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

  2. F5 或 [開始偵錯] 按鈕。 應用程式即會啟動,而偵錯工具會執行到您設定中斷點的程式碼行。

    Screenshot showing the Visual Studio code editor window with execution stopped at a breakpoint.

    黃色箭號代表偵錯工具暫停位置的陳述式。 程式碼執行會在相同的點暫停 (此陳述式尚未執行)。

    如果尚未執行應用程式,則 F5 會啟動偵錯工具並在第一個中斷點停止。 否則,F5 鍵會繼續執行應用程式到下一個中斷點。

    如果您知道要詳細檢查的程式碼行或程式碼區段,則中斷點是一個很有用的功能。 如需您可以設定之不同中斷點類型的資訊,例如條件中斷點,請參閱使用中斷點

  1. Main 函式的 For 迴圈中,按一下下列程式碼行的左邊界來設定中斷點:

    name += letters(i)

    您設定中斷點的位置會出現紅色圓圈 。

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

  2. F5 (偵錯 > 開始偵錯) 或 [偵錯工具列] 中的 [開始偵錯] 按鈕、應用程式啟動,而偵錯工具會執行至您設定中斷點的程式程式碼。

    Screenshot showing the Visual Studio Code editor window with execution stopped at a breakpoint.

    黃色箭號表示偵錯工具暫停時的陳述式,這也表示會在相同的點暫停執行應用程式 (尚未執行此陳述式)。

    如果尚未執行應用程式,則 F5 會啟動偵錯工具並在第一個中斷點停止。 否則,F5 鍵會繼續執行應用程式到下一個中斷點。

    如果您知道要詳細檢查的程式碼行或程式碼區段,則中斷點是一個很有用的功能。 如需您可以設定之不同中斷點類型的資訊,例如條件中斷點,請參閱使用中斷點

在大部分情況下,我們會在這裡使用鍵盤快速鍵,因為這是在偵錯工具中快速執行應用程式的好方法 (功能表命令等對等命令會顯示在括弧內)。

  1. 程式碼執行在 Main 方法的 For 迴圈中暫停時,請按 F11 (或選擇 [偵錯] > [逐步執行]) 兩次,以前進到 SendMessage 方法呼叫。

    按下 F11 兩次之後,您應該會在這一行程式碼中:

    SendMessage(name, a(i))

  2. 再按 F11 一次,以逐步執行 SendMessage 方法。

    黃色指標會前進至 SendMessage 方法。

    Screenshot showing a debug session in the Visual Studio code editor with execution paused after stepping into the 'SendMessage' method.

    F11 鍵是逐步執行命令,可將應用程式執行一次往前推進一個陳述式。 F11 鍵是以最詳細的方式檢查執行流程的好方法。 (若要更快速地在程式碼中移動,我們也會示範一些其他選項。)根據預設,偵錯工具會略過非使用者程式碼 (如果您想要更多的詳細資料,請參閱 Just My Code)。

    假設您已完成檢查 SendMessage 方法,而您想要退出方法,但會留在偵錯工具中。 您可以使用 [跳離函式] 命令完成這項動作。

  3. 按下 Shift + F11 (或 [偵錯] [跳離函式]>)。

    此命令會繼續應用程式執行 (並推進偵錯工具),直到目前的方法或函式傳回為止。

    您應該回到 Main 方法中的 For 迴圈,在 SendMessage 方法呼叫時暫停。

  4. F11 數次,直到您再次回到 SendMessage 方法呼叫為止。

  5. 程式碼執行在方法呼叫暫停時,按下 F10 (或選擇 [偵錯] > [逐步執行]) 一次。

    Screenshot showing a Debug session in the Visual Studio code editor with execution paused after stepping over the 'SendMessage' method call.

    請注意,此時偵錯工具不會逐步執行 SendMessage 方法。 F10 鍵會推進偵錯工具,而不需要逐步執行應用程式程式碼中的函式或方法 (此程式碼仍會執行)。 藉由在 SendMessage 方法呼叫上按 F10 鍵 (而非 F11 鍵),我們略過了 SendMessage 的實作程式碼 (現在對我們不太重要)。 如需不同方式在程式碼中移動的詳細資訊,請參閱在偵錯工具中巡覽程式碼

在本文中,我們使用鍵盤快速鍵,因為這是在偵錯工具中快速執行應用程式的好方法 (功能表命令等對等命令會顯示在括弧內)。

  1. 程式碼執行在 Main 方法的 For 迴圈中暫停時,請按 F11 (或選擇 [偵錯] > [逐步執行]) 兩次,以前進到 SendMessage 方法呼叫。

    按下 F11 兩次之後,您應該會在這一行程式碼中:

    SendMessage(name, a(i))

  2. 再按 F11 一次,以逐步執行 SendMessage 方法。

    黃色指標會前進至 SendMessage 方法。

    Screenshot showing a debug session in the Visual Studio Code editor with execution paused after stepping into the 'SendMessage' method.

    F11 鍵是逐步執行命令,可將應用程式執行一次往前推進一個陳述式。 F11 鍵是以最詳細的方式檢查執行流程的好方法。 (若要更快速地在程式碼中移動,我們也會示範一些其他選項。)根據預設,偵錯工具會略過非使用者程式碼 (如果您想要更多的詳細資料,請參閱 Just My Code)。

    假設您已完成檢查 SendMessage 方法,而您想要退出方法,但會留在偵錯工具中。 您可以使用 [跳離函式] 命令完成這項動作。

  3. 按下 Shift + F11 (或 [偵錯] [跳離函式]>)。

    此命令會繼續應用程式執行 (並推進偵錯工具),直到目前的方法或函式傳回為止。

    您應該回到 Main 方法中的 For 迴圈,在 SendMessage 方法呼叫時暫停。

  4. F11 數次,直到您再次回到 SendMessage 方法呼叫為止。

  5. 程式碼執行在方法呼叫暫停時,按下 F10 (或選擇 [偵錯] > [逐步執行]) 一次。

    Screenshot showing a Debug session in the Visual Studio Code editor with execution paused after stepping over the 'SendMessage' method call.

    請注意,此時偵錯工具不會逐步執行 SendMessage 方法。 F10 鍵會推進偵錯工具,而不需要逐步執行應用程式程式碼中的函式或方法 (此程式碼仍會執行)。 藉由在 SendMessage 方法呼叫上按 F10 鍵 (而非 F11 鍵),我們略過了 SendMessage 的實作程式碼 (現在對我們不太重要)。 如需不同方式在程式碼中移動的詳細資訊,請參閱在偵錯工具中巡覽程式碼

  1. 按下 F5,再次前進到中斷點。

  2. 在程式碼編輯器中,向下捲動並將滑鼠停留在 SendMessage 方法的 Console.WriteLine 方法上方,直到綠色 [執行至點選處] 按鈕出現為止。 按鈕的工具提示會顯示「執行到這裡」。

    Screenshot showing the Run to Click button with tooltip highlighted on the left side of the code editor window.

    注意

    [執行至點選處] 按鈕是 Visual Studio 2017 的新功能。 (如果您沒有看到綠色箭號按鈕,請在此範例中改用 F11,將偵錯工具推進到正確的位置。)

  3. 選取 [執行至點選處] 按鈕。

    偵錯工具會前進到 Console.WriteLine 方法。

    使用此按鈕類似於設定暫時中斷點。 [執行至點選處] 方便您在應用程式程式碼的可見區域內快速瀏覽 (您可以選取任何開啟的檔案)。

  1. 按下 F5,再次前進到中斷點。

  2. 在程式碼編輯器中,向下捲動並將滑鼠停留在 SendMessage 方法的 Console.WriteLine 方法上方,直到綠色 [執行至點選處] 按鈕出現為止。 按鈕的工具提示會顯示「執行到這裡」。

    Screenshot showing the Run to Click button with tooltip highlighted on the left side of the code editor window.

  3. 選取 [執行至點選處] 按鈕。

    偵錯工具會前進到 Console.WriteLine 方法。

    使用此按鈕類似於設定暫時中斷點。 [執行至點選處] 方便您在應用程式程式碼的可見區域內快速瀏覽 (您可以選取任何開啟的檔案)。

快速重新啟動您的應用程式

選取 [偵錯工具列] 中的 [重新啟動] 按鈕 (Ctrl + Shift + F5)。

相對於停止應用程式並重新啟動偵錯工具,按下 [重新啟動] 可讓您節省時間。 偵錯工具會在執行程式碼叫用的第一個中斷點處暫停。

偵錯工具會在您先前在 For 迴圈內設定的中斷點再次停止。

若要重新啟動您的應用程式,請按 Ctrl + Shift + F5 按鍵組合,可節省時間,而不是停止應用程式並重新啟動偵錯工具。 偵錯工具會在執行程式碼叫用的第一個中斷點處暫停。

偵錯工具會在您先前在 For 迴圈內設定的中斷點再次停止。

使用資料提示來檢查變數

可讓您檢查變數的功能是偵錯工具最實用功能之一,而且有不同的方法來完成此作業。 通常當您嘗試偵錯問題時,您會嘗試確定變數是否會儲存您希望其在特定時間具有的值。

  1. 程式碼執行於 name += letters[i] 陳述式暫停時,將滑鼠停留在 letters 變數上方,您會看到其預設值,陣列中的第一個元素值,"f"c

  2. 接下來,將滑鼠停留在 name 變數上,您會看到其目前值 (空字串)。

  3. F5 (或偵錯>繼續),多次逐一查看 For 迴圈、在中斷點再次暫停,並在每次檢查其值時停留在 name 變數上。

    Screenshot showing debug execution stopped in the code editor with the 'name' variable highlighted and a data tip showing the value as 'fre'.

    變數的值會隨著 For 迴圈的每個反覆項目而變更,其中顯示 f 的值、frfre 等等。

    很多時候,您會希望在偵錯時快速檢查變數的屬性值,以查看其是否如您預期的儲存值,而資料提示是很適合的方法。

可讓您檢查變數的功能是偵錯工具最實用功能之一,而且有不同的方法來完成此作業。 通常當您嘗試偵錯問題時,您會嘗試確定變數是否會儲存您希望其在特定時間具有的值。

  1. 程式碼執行於 name += letters[i] 陳述式暫停時,將滑鼠停留在 letters 變數上方,您會看到其預設值,陣列中的第一個元素值,"f"c

  2. 接下來,將滑鼠停留在 name 變數上,您會看到其目前值 (空字串)。

  3. F5 (或偵錯>繼續),多次逐一查看 For 迴圈、在中斷點再次暫停,並在每次檢查其值時停留在 name 變數上。

    Screenshot showing debug execution stopped in the code editor with the name variable highlighted and a data tip showing the value.

    變數的值會隨著 For 迴圈的每個反覆項目而變更,其中顯示 f 的值、frfre 等等。

    很多時候,您會希望在偵錯時快速檢查變數的屬性值,以查看其是否如您預期的儲存值,而資料提示是很適合的方法。

使用 [自動變數] 和 [區域變數] 視窗來檢查變數

  1. 查看程式碼編輯器底部的 [自動變數] 視窗。

    如果已關閉,請在程式碼執行於偵錯工具中暫停時,選擇 [偵錯] > [視窗] > [自動變數] 將其開啟。

    在 [自動變數] 視窗中,您會看到變數及其目前的值。 [自動變數] 視窗會顯示在目前行或前述行 (請查看文件以了解語言特定行為) 中使用的所有變數。

  2. 接下來,在 [自動變數] 視窗旁的索引標籤中查看 [區域變數] 視窗。

  3. 展開 letters 變數以顯示其所包含的元素。

    Screenshot showing the Locals Window with the 'letters' variable expanded to show the value and type of the elements it contains.

    [區域變數] 視窗會顯示位在目前範圍中的變數,即為目前執行內容。

  1. 查看程式碼編輯器底部的 [自動變數] 視窗。

    如果已關閉,請在程式碼執行於偵錯工具中暫停時,選擇 [偵錯] > [視窗] > [自動變數] 將其開啟。

    在 [自動變數] 視窗中,您會看到變數及其目前的值。 [自動變數] 視窗會顯示在目前行或前述行 (請查看文件以了解語言特定行為) 中使用的所有變數。

  2. 接下來,在 [自動變數] 視窗旁的索引標籤中查看 [區域變數] 視窗。

  3. 展開 letters 變數以顯示其所包含的元素。

    Screenshot showing the Locals Window with the 'letters' variable expanded to show the value and type of the elements it contains.

    [區域變數] 視窗會顯示位在目前範圍中的變數,即為目前執行內容。

設定監看式

在主要程式碼編輯器視窗中,以滑鼠右鍵按一下 name 變數,並選擇 [新增監看式]

[監看式] 視窗隨即在程式碼編輯器底部開啟。 您可以使用 [監看式] 視窗來指定您要留意的變數 (或運算式)。

現在,您已於 name 變數上設定監看式,當您在偵錯工具中移動時,就可以看到其值的變更。 不同於其他變數視窗,[監看式] 視窗一律會顯示所監看的變數 (它們在超出範圍時會呈現灰色)。

您可以指定您要在逐步執行程式碼時監看的變數或運算式,方法是將變數或運算式新增至 [監看式] 視窗。

  1. 當偵錯工具暫停時,以滑鼠右鍵按一下 name 變數,然後選擇 [新增監看式]

    [監看式] 視窗預設會在程式碼編輯器底部開啟。

  2. 既然您已在 name 變數上設定監看式,請逐步執行您的程式碼,查看 name 變數的值是否會在每次 for 迴圈重複時變更。

    不同於其他變數視窗,[監看式] 視窗一律會顯示所監看的變數。 範圍以外的變數會顯示為無法使用。

如需 [監看式] 視窗的詳細資訊,請參閱使用監看式視窗監看變數

檢查呼叫堆疊

  1. 當程式碼執行在 For 迴圈中暫停時,選取 [呼叫堆疊] 視窗,此視窗預設會在右下方的窗格中開啟。

    如果已關閉,請在程式碼執行於偵錯工具中暫停時,選擇 [偵錯] > [視窗] > [呼叫堆疊] 將其開啟。

  2. 選取 F11 幾次,直到您在 SendMessage 方法中看到偵錯工具暫停為止。 查看 [呼叫堆疊] 視窗。

    Screenshot showing the Visual Studio Call Stack window with a SendMessage method call highlighted in the top line.

    [呼叫堆疊] 視窗會顯示方法和函式的呼叫順序。 第一行會顯示目前的函式 (此應用程式中的 SendMessage 方法)。 第二行會顯示已從 Main 方法呼叫 SendMessage,依此類推。

    注意

    [呼叫堆疊] 視窗類似於某些 IDE (例如 Eclipse) 中的 [偵錯] 檢視方塊。

    呼叫堆疊是檢查並了解應用程式執行流程的好方法。

    您可以按兩下某一行的程式碼來查看其原始程式碼,這也會變更偵錯工具所檢查的目前範圍。 此動作不會讓偵錯工具往前推進。

    您也可以從 [呼叫堆疊] 視窗使用滑鼠右鍵功能表來執行其他動作。 例如,您可以在指定的函式中插入中斷點,使用 [執行至游標處] 讓偵錯工具往前推進,並檢查原始程式碼。 如需詳細資訊,請參閱如何:檢查呼叫堆疊

  1. 當程式碼執行在 For 迴圈中暫停時,選取 [呼叫堆疊] 視窗,此視窗預設會在右下方的窗格中開啟。

    如果已關閉,請在程式碼執行於偵錯工具中暫停時,選擇 [偵錯] > [視窗] > [呼叫堆疊] 將其開啟。

  2. 選取 F11 幾次,直到您在 SendMessage 方法中看到偵錯工具暫停為止。 查看 [呼叫堆疊] 視窗。

    Screenshot showing the Visual Studio Call Stack window with a SendMessage method call highlighted in the top line.

    [呼叫堆疊] 視窗會顯示方法和函式的呼叫順序。 第一行會顯示目前的函式 (此應用程式中的 SendMessage 方法)。 第二行會顯示已從 Main 方法呼叫 SendMessage,依此類推。

    注意

    [呼叫堆疊] 視窗類似於某些 IDE (例如 Eclipse) 中的 [偵錯] 檢視方塊。

    呼叫堆疊是檢查並了解應用程式執行流程的好方法。

    您可以按兩下某一行的程式碼來查看其原始程式碼,這也會變更偵錯工具所檢查的目前範圍。 此動作不會讓偵錯工具往前推進。

    您也可以從 [呼叫堆疊] 視窗使用滑鼠右鍵功能表來執行其他動作。 例如,您可以在指定的函式中插入中斷點,使用 [執行至游標處] 讓偵錯工具往前推進,並檢查原始程式碼。 如需詳細資訊,請參閱如何:檢查呼叫堆疊

變更執行流程

  1. F11 兩次以執行 Console.WriteLine 方法。

  2. 當偵錯工具在 SendMessage 方法呼叫中暫停後,使用滑鼠抓取黃色箭號或執行指標 (位於左邊界),然後將指標上移一行到 Console.WriteLine 陳述式。

  3. 按下 F11

    偵錯工具會重新執行 Console.WriteLine 方法 (您會在主控台視窗輸出中看到此動作)。

    藉由變更執行流程,您可以執行一些作業,例如測試不同的程式碼執行路徑,或重新執行程式碼而不重新啟動偵錯工具。

    警告

    您通常需要謹慎使用這項功能,您會在工具提示中看到一則警告。 您可能也會看到其他警告。 移動指標無法將應用程式還原成先前的應用程式狀態。

  4. F5 鍵繼續執行應用程式。

    恭喜您完成此教學課程!

下一步

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