Eseguire il debug di .NET e ASP.NET codice sorgente Core con Visual Studio
Per eseguire il debug di .NET e ASP.NET codice sorgente Core in Visual Studio:
In Strumenti -> Opzioni -> Debug -> Generale, deselezionare Abilita Just My Code.
Verificare che l'opzione Enable Source Link support (Abilita supporto collegamento origine) sia selezionata.
In Strumento -> Opzioni -> Debug -> Simboli abilitare i server di simboli Microsoft.
Quando si esegue l'istruzione in qualsiasi codice .NET o ASP.NET Core, Visual Studio visualizza il codice sorgente. Ad esempio:
Impostare un punto di interruzione in
OnGet
ePages/Privacy.cshtml.cs
selezionare il Privacy collegamento.Selezionare una delle opzioni Scarica origine e Continua debug .
Le istruzioni precedenti funzionano per l'esecuzione di istruzioni di base nelle funzioni, ma il codice .NET ottimizzato spesso rimuove variabili e funzioni locali. Per disabilitare le ottimizzazioni e consentire un debug di origine migliore:
- In Strumenti - Opzioni - Debug - Generale abilitare Elimina ottimizzazione JIT al caricamento del modulo (solo gestito):In Tools -> Options -> Debugging -> General ,enable Suppress JIT optimization on module load (Managed only):
- Aggiungere la variabile di ambiente e il valore
COMPlus_ReadyToRun=0
alProperties/launchSettings.json
file:{ "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" } } } }
Se è stato eseguito il debug di un'app prima con la versione precedente di .NET, eliminare la %TEMP%/SymbolCache
directory in quanto può avere vecchi PDB non aggiornati.
Debug di .NET Core in Unix su SSH
Risorse aggiuntive
- Debug e ottimizzazione JIT
- Limitazioni dell'opzione 'Elimina ottimizzazione JIT' per impostare su
COMPlus_ReadyToRun
0
- Supporto di .NET Ricaricamento rapido per ASP.NET Core
- Esecuzione di test con Ricaricamento rapido
- Eseguire il debug di app ASP.NET Core Blazor