Visual Studio에서 .NET 및 ASP.NET Core 소스 코드 디버그
Visual Studio에서 .NET 및 ASP.NET Core 소스 코드를 디버그하려면
도구 -> 옵션 -> 디버깅 -> 일반에서 내 코드만 사용을 선택 취소합니다.
소스 링크 지원 사용이 선택되어 있는지 확인합니다.
도구 -> 옵션 -> 디버깅 -> 기호에서 Microsoft 기호 서버를 선택합니다.
.NET 또는 ASP.NET Core 코드를 한 단계씩 실행하면 Visual Studio가 소스 코드를 표시합니다. 예시:
Pages/Privacy.cshtml.cs
의OnGet
에서 중단점을 설정하고 Privacy 링크를 선택합니다.소스 다운로드 후 디버깅 계속 옵션 중 하나를 선택합니다.
위의 명령은 기본적인 한 단계씩 함수 실행에 유효하지만 최적화된 .NET 코드는 종종 지역 변수 및 함수를 제거합니다. 최적화를 사용하지 않도록 설정하고 소스 디버깅을 향상하려면
- 도구 - 옵션 -> 디버깅 -> 일반에서 모듈 로드에서 JIT 최적화 표시 안 함(관리 전용)을 사용하도록 설정합니다.>
Properties/launchSettings.json
파일에 환경 변수와 값COMPlus_ReadyToRun=0
을 추가합니다.{ "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을 사용하여 앱을 디버그한 적이 있는 경우 오래된 PDB가 있을 수 있으므로 %TEMP%/SymbolCache
디렉터리를 삭제합니다.
SSH를 통해 Unix에서 .NET Core 디버그
추가 리소스
- JIT 최적화 및 디버깅
- 'JIT 최적화 기능 사용 안 함' 옵션 제한 사항
COMPlus_ReadyToRun
을0
으로 설정 - ASP.NET Core에 대한 .NET 핫 다시 로드 지원
- 핫 다시 로드 테스트 실행
- ASP.NET Core Blazor 앱 디버그
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
ASP.NET Core