Nguon: Microsoft Learn · .NET 8.0
Debug mã nguồn .NET và ASP.NET Core với Visual Studio
Để debug mã nguồn .NET và ASP.NET Core trong Visual Studio:
- Trong Tools -> Options -> Debugging -> General, bỏ chọn Enable Just My Code (Chỉ bật code của tôi).
- Xác minh Enable Source Link support (Bật hỗ trợ Source Link) được chọn.
- Trong Tool -> Options -> Debugging -> Symbols, bật Microsoft Symbol Servers (Máy chủ Symbol của Microsoft).
Khi bạn bước vào bất kỳ code .NET hoặc ASP.NET Core nào, Visual Studio hiển thị mã nguồn. Ví dụ:
- Đặt một break point trong
OnGettrongPages/Privacy.cshtml.csvà chọn liên kết Privacy. - Chọn một trong các tùy chọn Download Source and Continue Debugging (Tải xuống nguồn và tiếp tục debug).
Các hướng dẫn trước hoạt động cho bước vào các hàm cơ bản, nhưng code .NET được tối ưu hóa thường loại bỏ các biến cục bộ và hàm. Để vô hiệu hóa tối ưu hóa và cho phép debug nguồn tốt hơn:
- Trong Tools -> Options -> Debugging -> General, bật Suppress JIT optimization on module load (Managed only) (Ngăn chặn tối ưu JIT khi tải module - chỉ cho Managed code).
- Thêm biến môi trường và giá trị
COMPlus_ReadyToRun=0vào tệpProperties/launchSettings.json:
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"
}
}
}
}Nếu bạn đã debug ứng dụng trước đây với phiên bản .NET cũ hơn, hãy xóa thư mục %TEMP%/SymbolCache vì nó có thể có các PDB cũ đã lỗi thời.