Debugowanie platformy .NET i ASP.NET Core kodu źródłowego za pomocą programu Visual Studio
Aby debugować kod źródłowy platformy .NET i ASP.NET Core w programie Visual Studio:
W obszarze Narzędzia — opcje —>> Debugowanie —> ogólne, usuń zaznaczenie pozycji Włącz tylko mój kod.
Sprawdź, czy zaznaczono opcję Włącz obsługę linku źródłowego.
W narzędziu — opcje —>> debugowanie —> symbole włącz opcję Serwery symboli firmy Microsoft.
Podczas przechodzenia do dowolnego kodu platformy .NET lub ASP.NET Core program Visual Studio wyświetla kod źródłowy. Na przykład:
Ustaw punkt przerwania w pliku
OnGet
iPages/Privacy.cshtml.cs
wybierz Privacy link.Wybierz jedną z opcji Pobierz źródło i Kontynuuj debugowanie .
Powyższe instrukcje działają w celu podstawowego przechodzenia do funkcji, ale zoptymalizowany kod platformy .NET często usuwa zmienne lokalne i funkcje. Aby wyłączyć optymalizacje i umożliwić lepsze debugowanie źródła:
- W obszarze Narzędzia — opcje —>> Debugowanie —> ogólne, włącz opcję Pomiń optymalizację JIT przy obciążeniu modułu (tylko zarządzane):
- Dodaj zmienną środowiskową i wartość
COMPlus_ReadyToRun=0
doProperties/launchSettings.json
pliku:{ "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" } } } }
Jeśli aplikacja została wcześniej debugowana przy użyciu poprzedniej wersji platformy .NET, usuń %TEMP%/SymbolCache
katalog, ponieważ może mieć stare pliki PDB, które są nieaktualne.
Debugowanie platformy .NET Core w systemie Unix za pośrednictwem protokołu SSH
- Debugowanie platformy .NET Core w systemie Unix za pośrednictwem protokołu SSH
- Debugowanie platformy ASP Core w systemie Linux przy użyciu programu Visual Studio 2017
Dodatkowe zasoby
- Optymalizacja i debugowanie JIT
- Ograniczenia opcji "Pomiń optymalizację JIT", aby ustawić wartość
COMPlus_ReadyToRun
0
- Obsługa platformy .NET Przeładowywanie na gorąco dla platformy ASP.NET Core
- Wykonywanie testów za pomocą Przeładowywanie na gorąco
- Debugowanie aplikacji ASP.NET Core Blazor