다음을 통해 공유


Remote Debugging

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

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

시나리오 링크
Azure App Service Azure의 ASP.NET Core 원격 디버그 또는 Visual Studio Enterprise의 경우 스냅샷 디버거
Azure VM Azure VM의 ASP.NET 원격 디버그
Azure Service Fabric Azure Service Fabric 애플리케이션 디버그
ASP.NET ASP.NET Core 원격 디버그 또는 ASP.NET 원격 디버그
C# 또는 Visual Basic C# 또는 Visual Basic 프로젝트 원격 디버그
C++ C++ 프로젝트 원격 디버그
Docker Docker 컨테이너에서 실행되는 프로세스에 연결
Linux 프로세스에 연결하여 SSH를 이용해 Linux에서 .NET Core 디버그
유니버설 Windows 앱(UWP) 원격 컴퓨터에서 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를 실행합니다.

요구 사항

Supported Operating Systems

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

  • 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

참고

Windows Phone의 경우 디버그하려면 USB 연결이 필요합니다(원격 도구가 필요하지 않음).

지원되는 하드웨어 구성

  • 1.6GHz 이상의 프로세서

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

  • 1GB의 하드 디스크 여유 공간

  • 5400RPM 하드 드라이브

  • 1024x768 이상 디스플레이 해상도로 실행되는 DirectX 9 지원 비디오 카드

네트워크 구성

원격 컴퓨터와 Visual Studio 컴퓨터는 네트워크, 작업 그룹 또는 홈 그룹을 통해 연결되거나 이더넷 케이블을 통해 직접 연결되어야 합니다. 프록시를 통해 연결된 두 컴퓨터 간의 디버깅은 지원되지 않습니다. 대기 시간이 길거나 대역폭이 낮은 연결(예: 전화 접속 인터넷) 또는 해외 인터넷을 통해 디버그하는 것은 오류가 발생하거나 지나치게 느릴 수 있으므로 권장하지 않습니다.

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

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

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

    Program Files\Microsoft Visual Studio 17.0\Common7\IDE\Remote Debugger\x64\msvsmon.exe

    Program Files\Microsoft Visual Studio 17.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe

    Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Remote Debugger\x64\msvsmon.exe

    Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Remote Debugger\x86\msvsmon.exe

  2. Visual Studio 컴퓨터의 Remote Debugger 폴더를 공유합니다.

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

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

원격 디버거 설치

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

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

    관리자 권한으로 실행 중인 프로세스에 연결하려는 경우 또는 IIS와 같은 다른 사용자 계정으로 실행 중인 경우에는 원격 디버거 앱을 마우스 오른쪽 단추로 클릭하고 관리자 권한으로 실행을 선택합니다. 자세한 내용은 Run the remote debugger as an administrator(관리자 권한으로 원격 디버거 실행)를 참조하세요.

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

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

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

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

    Windows 웹 서비스 API가 설치되어 있지 않으면(Windows Server 2008 R2에만 해당) 설치 단추를 선택합니다.

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

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

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

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

    원격 디버거 창의 스크린샷

    원격 디버거 창의 스크린샷

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

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

<Remote debugger installation directory>\msvsmon.exe

원격 디버거 구성

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

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

    중요

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

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

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

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

    경고

    원격 도구를 인증 안 함 모드에서 실행할 수도 있지만 이 모드는 사용하지 않는 것이 좋습니다. 이 모드에서 실행할 때는 네트워크 보안이 없습니다. 네트워크에 악의적인 트래픽이나 유해 트래픽 위험이 확실히 없는 경우에만 인증 안 함 모드를 선택하세요.

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

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

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

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

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

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

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

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

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

  6. 서비스를 시작할 수 있는 경우 Visual Studio 원격 디버거 구성 마법사를 성공적으로 완료했습니다. 가 표시됩니다. 서비스를 시작할 수 없는 경우 Visual Studio 원격 디버거 구성 마법사 완료 실패가 표시됩니다. 이 페이지에서는 서비스를 시작하기 위해 수행할 몇 가지 팁도 제공합니다.

  7. 마침을 클릭합니다.

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

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

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

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

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

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