Depurar o código-fonte .NET e ASP.NET Core com o Visual Studio
Para depurar o código-fonte .NET e ASP.NET Core no Visual Studio:
Em Ferramentas –> Opções –> Depuração –> Geral, não marcar Habilitar Apenas Meu Código.
Verifique se a opção Habilitar suporte ao Source Link está marcada.
Em Ferramenta –> Opções –> Depuração –> Símbolos, habilite Servidores de Símbolos da Microsoft.
Quando você intervém em qualquer código .NET ou ASP.NET Core, o Visual Studio exibe o código-fonte. Por exemplo:
Defina um ponto de interrupção no
OnGet
emPages/Privacy.cshtml.cs
e selecione o link Privacy.Selecione uma das opções de Baixar fonte e continuar depuração .
As instruções anteriores funcionam para funções básicas de intervenção, mas o código .NET otimizado geralmente remove variáveis e funções locais. Para desabilitar otimizações e permitir uma melhor depuração de origem:
- Em Ferramentas -> Opções -> Depuração -> Geral, habilite Suprimir otimização JIT na carga de módulo (somente gerenciado):
- Adicione a variável de ambiente e o valor
COMPlus_ReadyToRun=0
ao arquivoProperties/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" } } } }
Se você já depurou um aplicativo antes com a versão anterior do .NET, exclua o diretório %TEMP%/SymbolCache
, pois ele pode ter PDBs antigos desatualizados.