2019年6月3日 星期一

如何在 Visual Studio 2019 中針對 .NET Core 原始檔進行偵錯

如何在 Visual Studio 2019 中針對 .NET Core 原始檔進行偵錯

有些時候,想要知道 .NET BCL 中的程式碼究竟做了甚麼事情,此時,可以依照這篇文章的教學步驟說明,先進行 Visual Studio 2019 的相關設定,以便建立的專案可以針對 Base Class Library 的 API 進行偵錯;在這裡將會建立一個 .NET Core 2.2 版本的主控台應用程式專案來展示相關過程。
首先,打開 Visual Studo 2019
從 Visual Studio 2019 功能表來點選 [工具] > [選項]
在選項對話窗開啟之後,點選 [偵錯] > [一般]
請勾選 [啟用 .NET Framework 原始碼逐步偵錯]
此時,會有一個警告對話窗出現,啟用 .NET Framework 原始碼逐步偵錯時會自動停用 Just My Code ,請直接點選 [確定] 按鈕
在選項對話窗開啟之後,點選 [偵錯] > [符號]
請勾選 [符號檔 (.pdb) 位置] 標籤下方的 [Microsoft 符號伺服器] 選項,並且在下方的 [快取此目錄中的符號] 標籤下方的文字輸入盒,輸入一個目錄將要用來儲存從網路下載的 符號檔 Symbol File .pdb 檔案。
最後,點選 [確定] 按鈕
現在,可以建立一個 .NET Core 2.2 的主控台應用程式,並且填入底下程式碼。
在 list.Add("123"); 行敘述上設定一個中斷點
開始執行這個專案,此時,因為是第一次執行 .NET 原始碼逐步偵錯,所以,會下載相關符號檔,所以,需要花些時間,之後程式就會停在剛剛設定的中斷點上。
按下 [F11] 或者點選 [逐步執行] 工具列按鈕,就會到底下的內容,現在 Visual Studio 切換 List.cs 這個視窗中的 Add 方法上,這些程式碼就是 .NET BCL 上的原始碼。
而在剛剛設定的 下載的 符號檔 Symbol File .pdb 檔案 目錄中,將會看到成功下載的符號檔案
C Sharp / C#
class Program
{
    static void Main(string[] args)
    {
        List<string> list = new List<string>();
        list.Add("123");
        Console.WriteLine("Hello World!");


        Console.WriteLine("Press any key for continuing...");
        Console.ReadKey();
    }
}




沒有留言:

張貼留言