다음을 통해 공유


원격 디버깅

다른 컴퓨터에 배포된 Visual Studio 애플리케이션을 디버그할 수 있습니다. 이렇게 하려면 Visual Studio 원격 디버거를 사용합니다.

원격 디버깅에 대한 자세한 지침은 다음 항목을 참조하세요.

시나리오 링크
C# 또는 Visual Basic C# 또는 Visual Basic 프로젝트 원격 디버그
C++ C++ 프로젝트를 원격 디버깅
Azure App Service Azure에서 ASP.NET Core를 원격 디버그하거나, Visual Studio Enterprise를 사용할 경우 스냅샷 디버거
ASP.NET 원격 디버그 ASP.NET Core 또는 원격 디버그 ASP.NET
Azure VM ASP.NET 원격 디버그 Azure VM에서
Linux 프로세스 연결하여 SSH를 사용하여 Linux에서 .NET Core 디버그
Docker Docker 컨테이너 실행되는 프로세스에 연결
UWP(유니버설 Windows 앱) 원격 컴퓨터 UWP 앱을 실행하거나 설치된 앱 패키지 디버그를

원격 디버거를 다운로드하여 설치하고 시나리오에 대한 추가 지침이 필요하지 않은 경우 이 문서의 단계를 따르세요.

원격 도구 다운로드 및 설치

Visual Studio 컴퓨터가 아닌 디버그하려는 원격 디바이스 또는 서버에서 다음 표의 링크에서 올바른 버전의 원격 도구를 다운로드하여 설치합니다.

  • Visual Studio 버전에 대한 최신 원격 도구 업데이트를 다운로드합니다. 이전 원격 도구 버전은 이후 Visual Studio 버전과 호환되지 않습니다. 예를 들어 Visual Studio 2019를 사용하는 경우 Visual Studio 2019용 원격 도구의 최신 업데이트를 다운로드합니다. 이 시나리오에서는 Visual Studio 2022용 원격 도구를 다운로드하지 마세요.)
  • 설치하는 컴퓨터와 동일한 아키텍처의 원격 도구를 다운로드합니다. 예를 들어 x64 운영 체제를 실행하는 원격 컴퓨터에서 x86 애플리케이션을 디버그하려면 x64 원격 도구를 설치합니다. ARM64 운영 체제에서 x86, ARM 또는 x64 애플리케이션을 디버그하려면 ARM64 원격 도구를 설치합니다.
버전 링크 노트
Visual Studio 2022 원격 도구 모든 Visual Studio 2022 버전과 호환 가능합니다. 디바이스 운영 체제(x86, x64(AMD64) 또는 ARM64)와 일치하는 버전을 다운로드합니다. 이전 버전의 Windows Server에서 원격 도구 다운로드에 대한 도움말은 파일 다운로드 차단 해제를 참조하세요.
Visual Studio 2019 원격 도구 Visual Studio 2019용 원격 도구는 My.VisualStudio.com 사용할 수 있습니다. 메시지가 표시되면 무료 Visual Studio Dev Essentials 프로그램에 가입하거나 Visual Studio 구독 ID로 로그인합니다. 디바이스 운영 체제(x86, x64(AMD64) 또는 ARM64)와 일치하는 버전을 다운로드합니다. 이전 버전의 Windows Server에서 원격 도구 다운로드에 대한 도움말은 파일 다운로드 차단 해제를 참조하세요.
Visual Studio 2017 원격 도구 Visual Studio 2017용 원격 도구는 My.VisualStudio.com 사용할 수 있습니다. 메시지가 표시되면 무료 Visual Studio Dev Essentials 프로그램에 가입하거나 Visual Studio 구독 ID로 로그인합니다. 디바이스 운영 체제(x86, x64(AMD64) 또는 ARM64)와 일치하는 버전을 다운로드합니다. Windows Server에서 원격 도구 다운로드에 대한 도움말은 파일 다운로드 차단 해제를 참조하세요.
Visual Studio 2015 원격 도구 Visual Studio 2015용 원격 도구는 My.VisualStudio.com 사용할 수 있습니다. 메시지가 표시되면 무료 Visual Studio Dev Essentials 프로그램에 가입하거나 Visual Studio 구독 ID로 로그인합니다. Windows Server에서 원격 도구 다운로드에 대한 도움말은 파일 다운로드 차단 해제를 참조하세요.
Visual Studio 2013 원격 도구 Visual Studio 2013 설명서의 다운로드 페이지
Visual Studio 2012 원격 도구 Visual Studio 2012 설명서의 다운로드 페이지
버전 링크 노트
Visual Studio 2019 원격 도구 모든 Visual Studio 2019 버전과 호환 가능합니다. 디바이스 운영 체제(x86, x64(AMD64) 또는 ARM64)와 일치하는 버전을 다운로드합니다. Windows Server에서 원격 도구 다운로드에 대한 도움말은 파일 다운로드 차단 해제를 참조하세요. 최신 버전의 원격 도구를 사용하려면 Visual Studio 2022 문서을 여십시오.
Visual Studio 2017 원격 도구 모든 Visual Studio 2017 버전과 호환 가능합니다. 디바이스 운영 체제(x86, x64(AMD64) 또는 ARM64)와 일치하는 버전을 다운로드합니다. Windows Server에서 원격 도구 다운로드에 대한 도움말은 파일 다운로드 차단 해제를 참조하세요.
Visual Studio 2015 원격 도구 Visual Studio 2015용 원격 도구는 My.VisualStudio.com 사용할 수 있습니다. 메시지가 표시되면 무료 Visual Studio Dev Essentials 프로그램에 가입하거나 Visual Studio 구독 ID로 로그인합니다. Windows Server에서 원격 도구 다운로드에 대한 도움말은 파일 다운로드 차단 해제를 참조하세요.
Visual Studio 2013 원격 도구 Visual Studio 2013 설명서의 다운로드 페이지
Visual Studio 2012 원격 도구 Visual Studio 2012 설명서의 다운로드 페이지

원격 도구를 설치하는 대신 원격 컴퓨터에 msvsmon.exe 복사하여 원격 디버거를 실행할 수 있습니다. 그러나 원격 디버거 구성 마법사(rdbgwiz.exe)는 원격 도구를 설치하는 경우에만 사용할 수 있습니다. 원격 디버거를 서비스로 실행하려면 마법사를 구성에 사용해야 할 수 있습니다. 자세한 내용은 (선택 사항) 원격 디버거를 서비스로 구성을 참조하세요.

메모

  • ARM 디바이스에서 Windows 10 이상 앱을 디버그하려면 최신 버전의 원격 도구에서 사용할 수 있는 ARM64를 사용합니다.
  • Windows RT 디바이스에서 Windows 10 앱을 디버그하려면 VISUAL Studio 2015 원격 도구 다운로드에서만 사용할 수 있는 ARM을 사용합니다.
  • ARM64 운영 체제에서 x64 앱을 디버그하려면 ARM64 원격 도구와 함께 설치된 x64 msvsmon.exe 실행합니다.

요구 사항

지원되는 운영 체제

원격 컴퓨터는 다음 운영 체제 중 하나를 실행해야 합니다.

  • Windows 11

  • Windows 10(휴대폰 아님)

  • Windows 8 또는 8.1(휴대폰 아님)

  • Windows 7 서비스 팩 1

  • Windows Server 2016

  • Windows Server 2012 또는 Windows Server 2012 R2

  • Windows Server 2008 서비스 팩 2, Windows Server 2008 R2 서비스 팩 1

지원되는 하드웨어 구성

  • 1.6GHz 이상의 프로세서

  • 1GB RAM(가상 머신에서 실행되는 경우 1.5GB)

  • 1GB의 사용 가능한 하드 디스크 공간

  • 5400-RPM 하드 드라이브

  • 1024 x 768 이상의 디스플레이 해상도에서 실행되는 DirectX 9 지원 비디오 카드

네트워크 구성

원격 컴퓨터와 Visual Studio 컴퓨터는 네트워크, 작업 그룹 또는 홈 그룹을 통해 연결되거나 이더넷 케이블을 통해 직접 연결되어야 합니다. 프록시를 통해 연결된 두 컴퓨터 간의 디버깅은 지원되지 않습니다. 긴 대기 시간 또는 낮은 대역폭 연결(예: 전화 접속 인터넷) 또는 국가/지역 간 인터넷을 통해 디버깅하는 것은 권장되지 않으며 실패하거나 허용할 수 없을 정도로 느릴 수 있습니다.

(선택 사항) 파일 공유에서 원격 디버거를 실행하려면

Visual Studio Community, Professional 또는 Enterprise가 이미 설치된 컴퓨터에서 원격 디버거(msvsmon.exe)를 찾을 수 있습니다. 일부 시나리오에서 원격 디버깅을 설정하는 가장 쉬운 방법은 파일 공유에서 원격 디버거(msvsmon.exe)를 실행하는 것입니다. 사용 제한 사항은 원격 디버거의 도움말 페이지(도움말 > 원격 디버거의 사용량)를 참조하세요.

  1. Visual Studio 버전과 일치하는 디렉터리에서 msvsmon.exe 찾습니다.

    프로그램 파일\Microsoft Visual Studio 17.0\Common7\IDE\Remote Debugger\x64\msvsmon.exe

    프로그램 파일\Microsoft Visual Studio 17.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe

    프로그램 파일(x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Remote Debugger\x64\msvsmon.exe

    프로그램 파일(x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Remote Debugger\x86\msvsmon.exe

  2. Visual Studio 컴퓨터에서 원격 디버거 폴더를 공유합니다.

  3. 원격 컴퓨터의 공유 폴더에서 msvsmon.exe 실행합니다. 설정 지침을 따릅니다.

명령줄 설치 및 명령줄 참조는 Visual Studio가 설치된 컴퓨터의 명령줄에 msvsmon.exe /? 입력하여 msvsmon.exe 도움말 페이지를 참조하세요(또는 원격 디버거에서 도움말 > 사용량 이동).

원격 디버거 설정

  1. 원격 컴퓨터의 시작 메뉴에서 원격 디버거 찾아서 시작합니다.

    원격 컴퓨터에 대한 관리 권한이 없는 경우 원격 디버거 앱을 마우스 오른쪽 단추로 클릭하고 관리자 권한으로 실행 선택합니다. 그렇지 않으면 정상적으로 시작합니다.

    관리자 권한으로 실행 중이거나 다른 사용자 계정(예: IIS)에서 실행되는 프로세스에 연결하려는 경우 원격 디버거 앱을 마우스 오른쪽 단추로 클릭하고 관리자 권한으로 실행 선택합니다. 자세한 내용은 관리자 권한으로 원격 디버거를 실행참조하세요.

  2. 원격 디버거를 처음 시작할 때(또는 구성하기 전에) 원격 디버깅 구성 마법사가 나타납니다.

    대부분의 시나리오에서는 마법사의 Windows 방화벽 구성 페이지로 이동될 때까지 다음 선택합니다.

    원격 디버거 구성의 스크린샷 원격 디버거 구성

    원격 디버거 구성의 스크린샷 원격 디버거 구성

    Windows Server 2008 R2에서만 발생하는 Windows Web Services API가 설치되지 않은 경우 설치 단추를 선택합니다.

  3. 원격 도구를 사용하려는 네트워크 유형을 하나 이상 선택합니다. 컴퓨터가 도메인을 통해 연결된 경우 첫 번째 항목을 선택해야 합니다. 컴퓨터가 작업 그룹 또는 홈 그룹을 통해 연결된 경우 두 번째 또는 세 번째 항목을 적절하게 선택합니다.

    그런 다음 마침 선택하여 원격 디버거를 시작합니다.

    다음으로, 원격 디버깅 구성을 선택하여 원격 디버거를 시작합니다.

  4. 구성이 완료되면 원격 디버거 창이 나타납니다.

    원격 디버거 창 스크린샷

    원격 디버거 창 스크린샷

    이제 원격 디버거가 연결을 기다리고 있습니다. 표시된 서버 이름 및 포트 번호를 사용하여 Visual Studio에서 원격 연결 구성을 설정합니다.

원격 디버거를 중지하려면 파일>종료선택합니다. 시작 메뉴 또는 명령줄에서 다시 시작할 수 있습니다.

<Remote debugger installation directory>\msvsmon.exe

원격 디버거 구성

원격 디버거를 처음 시작한 후 원격 디버거 구성의 일부 측면을 변경할 수 있습니다.

  • 다른 사용자가 원격 디버거에 연결할 수 있는 권한을 추가해야 하는 경우 도구 > 사용 권한선택합니다. 권한을 부여하거나 거부하려면 관리자 권한이 있어야 합니다.

    중요하다

    Visual Studio 컴퓨터에서 사용 중인 사용자 계정과 다른 사용자 계정으로 원격 디버거를 실행할 수 있지만 원격 디버거의 권한에 다른 사용자 계정을 추가해야 합니다.

    또는 명령줄에서 /allow <사용자 이름> 매개 변수인 msvsmon /allow <username@computer>사용하여 원격 디버거를 시작할 수 있습니다.

  • 인증 모드 또는 포트 번호를 변경하거나 원격 도구에 대한 제한 시간 값을 지정해야 하는 경우 도구 > 옵션선택합니다.

    기본적으로 사용되는 포트 번호 목록은 원격 디버거 포트 할당 참조하세요.

    경고

    인증 없음 모드에서 원격 도구를 실행하도록 선택할 수 있지만 이 모드는 권장되지 않습니다. 이 모드에서 실행하는 경우 네트워크 보안이 없습니다. 네트워크가 악의적이거나 적대적인 트래픽의 위험에 노출되지 않는 경우에만 인증 안 함 모드를 선택합니다.

원격 디버깅을 위한 Visual Studio 구성

Visual Studio에서 앱에 연결하는 자세한 지침은 이 문서의 시작 부분에서 특정 시나리오와 관련된 링크를 사용합니다.

일부 시나리오에서는 프로세스에 연결하여 이미 시작된 원격 앱에 연결해야 합니다. 그러나 .NET Core, .NET 5+, .NET Framework 및 C++ 앱의 경우 프로젝트 속성을 구성하고 디버거를 시작하여 Visual Studio에서 원격 앱을 시작할 수 있습니다. 자세한 내용은 C# 또는 Visual Basic 프로젝트 원격 디버그 또는 C++ 프로젝트 원격 디버그를 참조하세요.

지원되는 디버깅 기능은 기호 가용성과 같은 구성에 따라 달라지지만 Visual Studio 프로젝트의 일부가 아닌 실행 파일을 원격으로 디버그할 수도 있습니다. 자세한 내용은 Visual Studio 솔루션 포함되지 않은 앱 디버그참조하세요.

(선택 사항) 원격 디버거를 서비스로 구성

ASP.NET 및 기타 서버 환경에서 디버깅하려면 관리자 권한으로 원격 디버거를 실행하거나, 항상 실행하려면 원격 디버거를 서비스로 실행해야 합니다.

원격 디버거를 서비스로 구성하려면 다음 단계를 수행합니다.

  1. 원격 디버거 구성 마법사(rdbgwiz.exe)를 찾습니다. (원격 디버거와는 별개의 애플리케이션입니다.) 원격 도구를 설치할 때만 사용할 수 있습니다. Visual Studio와 함께 설치되지 않습니다.

  2. 구성 마법사 실행을 시작합니다. 첫 번째 페이지가 나타나면 다음클릭합니다.

  3. Visual Studio 원격 디버거를 서비스로 실행 확인란을 선택합니다.

  4. 사용자 계정 및 암호의 이름을 추가합니다.

    서비스로 로그온을 이 계정에 사용자 권한을 추가해야 할 수 있습니다(시작 페이지 또는 창에서 로컬 보안 정책 찾기(secpol.msc) 또는 명령 프롬프트에서 secpol 입력). 창이 나타나면 사용자 권한 할당을 두 번 클릭한 다음, 오른쪽 창에서 서비스로서 로그온을 찾습니다. 두 번 클릭합니다. 속성 창에 사용자 계정을 추가하고 확인)을 클릭합니다. 다음클릭하세요.

  5. 원격 도구가 통신할 네트워크 유형을 선택합니다. 하나 이상의 네트워크 유형을 선택해야 합니다. 컴퓨터가 도메인을 통해 연결된 경우 첫 번째 항목을 선택해야 합니다. 컴퓨터가 작업 그룹 또는 홈 그룹을 통해 연결된 경우 두 번째 또는 세 번째 항목을 선택해야 합니다. 다음클릭합니다.

  6. 서비스를 시작할 수 있는 경우 Visual Studio 원격 디버거 구성 마법사 성공적으로 완료한표시됩니다. 서비스를 시작할 수 없는 경우, Visual Studio 원격 디버거 구성 마법사완료하지 못함이 표시됩니다. 또한 이 페이지에서는 서비스를 시작하기 위해 따라야 할 몇 가지 팁을 제공합니다.

  7. 마침클릭합니다.

    이 시점에서 원격 디버거가 서비스로 실행되고 있습니다. 제어판 > 서비스 에서 Visual Studio 원격 디버거를 찾아서 확인할 수 있습니다.

    제어판 Services>에서 원격 디버거 서비스를 중지하고 시작할 수 있습니다.

원격 기호를 사용하여 디버깅 설정

Visual Studio 컴퓨터에서 생성한 기호를 사용하여 코드를 디버그할 수 있어야 합니다. 로컬 기호를 사용하는 경우 원격 디버거의 성능이 훨씬 향상됩니다. 원격 기호를 사용해야 하는 경우 원격 디버깅 모니터에 원격 컴퓨터에서 기호를 찾도록 지시해야 합니다.

다음 msvsmon 명령줄 스위치를 사용하여 관리 코드에 원격 기호를 사용할 수 있습니다. Msvsmon /FallbackLoadRemoteManagedPdbs

자세한 내용은 원격 디버깅 도움말을 참조하세요(원격 디버거 창에서 F1 누르거나 도움말 > 사용클릭).