Azure App Service의 ASP.NET Core 원격 디버그

이 문서에서는 Visual Studio 디버거를 Azure App Service에서 실행되는 ASP.NET Core 앱에 연결하는 방법을 설명합니다. 다음 단계에서는 로컬에서 실행되는 것처럼 앱을 디버그하도록 설정합니다.

필수 조건

  • ASP.NET과 웹 개발Azure 개발 워크로드가 설치된 Visual Studio 2022.

  • 먼저 Visual Studio에서 Azure App Service에 ASP.NET Core 앱을 배포해야 하며 앱이 실행 중이어야 합니다.

    App Service 배포를 포함하는 실습 교육은 Azure의 ASP.NET Core 원격 디버그를 참조하세요.

원격 디버깅 사용

Visual Studio에서 이 문제를 디버그하려면 먼저 App Service의 원격 디버깅 기능을 사용하도록 설정해야 합니다. 이 설정을 사용하면 Visual Studio 디버거가 기본 App Service 웹 호스팅 프로세스에 연결할 수 있습니다.

  1. 사용자 고유의 Azure 포털에 로그인합니다.

    Azure Portal에서 배포된 애플리케이션을 찾습니다. App Services 페이지로 이동한 다음 App Service 인스턴스를 선택하여 앱을 찾을 수 있습니다. 맨 위에 있는 검색 창에서 이름으로 직접 App Service 인스턴스를 검색할 수도 있습니다. (이 예제에서 App Service 인스턴스의 이름은 GitHubBrowser123로 지정됩니다.)

    A screenshot of Azure search.

  2. App Service 설정 페이지에서 왼쪽 탐색 영역에서 구성을 선택한 다음 일반 설정 탭으로 전환합니다.

  3. 페이지 아래쪽에서 원격 디버깅 기능을 켜짐으로 설정하고 Visual Studio 2022원격 Visual Studio 버전으로 선택해야 합니다.

    A screenshot of the Azure remote debugging settings.

  4. 페이지 맨 위에 있는 저장을 선택하여 변경 내용을 유지합니다.

이제 앱 서비스 인스턴스는 Visual Studio를 통해 원격 디버깅을 지원합니다.

디버깅 설정 구성

성공하려면 Azure에서 앱을 디버깅하기 전에 Visual Studio에서 다음 단계를 완료했는지 확인합니다.

  1. 먼저 한 번 이상은 프로젝트를 성공적으로 빌드했어야 합니다. 빌드에 성공했다면 소스 코드와 필요한 모든 컴파일된 파일이 준비됩니다. 애플리케이션이 로컬로 실행되는 경우 앱을 중지해야 합니다.

    참고 항목

    로컬 코드의 상태가 Azure에 배포된 상태와 일치하는지 확인합니다. 이렇게 하면 로컬 기호 파일 및 소스 코드가 배포된 앱과 정렬되도록 할 수 있습니다.

  2. 위쪽 Visual Studio 메뉴에서 디버그 -> 옵션으로 이동합니다. 내 코드만 사용선택 취소(아래와 같이)되어 있는지 확인한 다음, 확인을 선택합니다.

    이 설정을 변경하면 Visual Studio에서 로컬 bin 폴더의 필요한 기호 파일을 사용하여 Azure에 배포했던 최적화된 코드를 디버그할 수 있습니다. 디버거에서 기호 파일을 컴파일되고 실행 중인 코드와 Visual Studio의 소스 코드 사이의 브리지로 사용하므로 로컬 소스 코드가 배포 앱과 일치했는지가 중요합니다.

    A screenshot of the Visual Studio debugging settings.

디버거를 App Service에 연결

  1. Visual Studio의 맨 위에 있는 주 메뉴에서 디버그 -> 프로세스에 연결을 선택하여 해당 대화 상자를 엽니다. 이 창을 사용하여 서로 다른 대상에 연결할 수 있습니다. 이 경우 이전 단계에서 만든 App Service 인스턴스에 연결합니다.

  2. 연결 유형 드롭다운을 선택하고 Microsoft Azure App Services 옵션을 선택합니다.

  3. 연결 대상 필드 옆에 있는 찾기..를 선택하여 Azure 구독 및 앱 서비스를 찾아볼 수 있는 대화 상자를 엽니다.

  4. 이전 단계에서 만든 App Service 인스턴스를 찾아 선택한 다음 확인을 선택합니다.

  5. w3wp.exe 프로세스는 연결할 사용 가능한 프로세스 목록에 표시되어야 하며, 이는 배포된 애플리케이션을 호스트하는 Azure App Service의 기본 프로세스입니다. 해당 프로세스를 선택한 다음 오른쪽 아래에서 연결을 선택하여 Visual Studio 디버거를 연결합니다.

    A screenshot of the attach to process features.

  6. Index.cshtml.cs 또는 다른 C# 애플리케이션 파일에서 왼쪽 여백을 클릭하여 중단점을 설정합니다. (또는 마우스 오른쪽 단추를 클릭하고 중단점>중단점 삽입을 선택합니다.)

  7. 필요에 따라 Visual Studio에서 디버깅 세션에 대한 기호 파일을 로드했는지 확인할 수도 있습니다. 디버그 > Windows > 모듈로 이동하여 모듈 창을 엽니다. 이 창은 이전에 변경했던 내 코드만 구성 변경 사항 이후에 기호 파일이 성공적으로 로드되었음을 나타냅니다.

    A screenshot of the symbol files window.