使用 Visual Studio 對 .NET 和 ASP.NET Core 原始程式碼進行偵錯
若要在 Visual Studio 對 .NET 和 ASP.NET Core 原始程式碼進行偵錯:
在 [工具 -> 選項 -> 偵錯 -> 一般] 中,取消核取 [啟用 Just My Code]。
確認已核取 [啟用來源連結支援] 。
在 [工具 -> 選項 -> 偵錯 ->符號] 中,啟用 [Microsoft 符號伺服器]。
逐步執行任何 .NET 或 ASP.NET Core 程式碼時,Visual Studio 會顯示原始程式碼。 例如:
在
Pages/Privacy.cshtml.cs
中設定OnGet
中斷點,然後選取 Privacy 連結。選取其中一個 [下載來源] 和 [繼續偵錯] 選項。
上述指示適用於基本逐步執行函式,但最佳化的 .NET 程式碼通常會移除區域變數和函式。 若要停用最佳化,並改善來源偵錯:
- 在 [工具 - 選項 ->> 偵錯 -> 一般] 中,在模組載入上啟用 [隱藏 JIT 最佳化] (僅限受控):
- 將環境變數和值
COMPlus_ReadyToRun=0
新增至Properties/launchSettings.json
檔案:{ "iisSettings": { "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { "applicationUrl": "http://localhost:10892", "sslPort": 44315 } }, "profiles": { "WebApplication18": { "commandName": "Project", "dotnetRunMessages": true, "launchBrowser": true, "applicationUrl": "https://localhost:7045;http://localhost:5045", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development", "COMPlus_ReadyToRun": "0" } }, "IIS Express": { "commandName": "IISExpress", "launchBrowser": true, "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development", "COMPlus_ReadyToRun": "0" } } } }
如果您先前已使用舊版 .NET 對應用程式進行偵錯,請刪除 %TEMP%/SymbolCache
目錄,因為其中可能有過時的舊 PDB 檔案。
透過 SSH 對 Unix 上的 .NET Core 進行偵錯
其他資源
- JIT 最佳化和偵錯
- [隱藏 JIT 最佳化] 選項的限制將
COMPlus_ReadyToRun
設定為0
- ASP.NET Core 的 .NET 熱重新載入支援
- 使用熱重新載入測試執行