Visual Studio에서 C++ 프로젝트 원격 디버깅

다른 컴퓨터에서 Visual Studio 애플리케이션을 디버그하려면 앱을 배포할 컴퓨터에 원격 도구를 설치 및 실행하고 Visual Studio에서 원격 컴퓨터에 연결하도록 프로젝트를 구성한 후 앱을 배포하고 실행합니다.

Remote debugger components

유니버설 Windows 앱(UWP) 원격 디버깅에 대한 자세한 내용은 설치된 앱 패키지 디버그를 참조하세요.

요구 사항

원격 디버거는 Windows 7 이상 및 Windows Server 버전 Windows Server 2008 서비스 팩 2 이상에서 지원됩니다. 요구 사항 전체 목록은 요구 사항을 참조하세요.

참고

프록시를 통해 연결된 두 컴퓨터 간의 디버깅은 지원되지 않습니다. 대기 시간이 길거나 대역폭이 낮은 연결(예: 전화 접속 인터넷) 또는 해외 인터넷을 통해 디버그하는 것은 오류가 발생하거나 지나치게 느릴 수 있으므로 권장하지 않습니다.

원격 도구 다운로드 및 설치

디버그하려는 원격 디바이스 또는 서버에서(Visual Studio 머신 아님) 다음 표에 나온 링크를 통해 올바른 버전의 원격 도구를 다운로드하여 설치하세요.

  • 사용 중인 버전의 Visual Studio용 최신 원격 도구를 다운로드합니다. 최신 원격 도구 버전은 이전 Visual Studio 버전과 호환되지만, 이전 원격 도구 버전은 이후 Visual Studio 버전과 호환되지 않습니다. (예를 들어, Visual Studio 2019을 사용하는 경우 Visual Studio 2019용 원격 도구의 최신 업데이트를 다운로드합니다. 이 시나리오에서는 Visual Studio 2022용 원격 도구를 다운로드하지 마세요.)
  • 설치할 머신과 동일한 아키텍처를 가진 원격 도구를 다운로드합니다. 예를 들어 64비트 운영 체제를 실행하는 원격 컴퓨터에서 32비트 앱을 디버그하려는 경우 64비트 원격 도구를 설치합니다.
  • ARM64 디바이스에서 ARM64EC 애플리케이션을 원격으로 디버깅하는 경우 ARM64 원격 도구를 설치한 다음 해당 도구와 함께 설치되는 x64 원격 디버거를 시작합니다. 다음 경로에서 찾을 수 있습니다. Program Files (x86)\Microsoft Visual Studio<version>\Common7\IDE\Remote Debugger\x64.
버전 링크 참고
Visual Studio 2022 원격 도구 모든 Visual Studio 2022 버전과 호환됩니다. 디바이스 운영 체제(x86, x64 또는 ARM64)와 일치하는 버전을 다운로드합니다. 이전 버전의 Windows Server에서 원격 도구 다운로드에 대한 도움말은 파일 다운로드 차단 해제를 참조하세요.
Visual Studio 2019 원격 도구 모든 Visual Studio 2019 버전과 호환됩니다. 디바이스 운영 체제(x86, x64 또는 ARM64)와 일치하는 버전을 다운로드합니다. 이전 버전의 Windows Server에서 원격 도구 다운로드에 대한 도움말은 파일 다운로드 차단 해제를 참조하세요.
Visual Studio 2017 원격 도구 모든 Visual Studio 2017 버전과 호환됩니다. 디바이스 운영 체제(x86, x64 또는 ARM64)와 일치하는 버전을 다운로드합니다. Windows Server에서 원격 도구 다운로드에 대한 도움말은 Unblock the file download(파일 다운로드 차단 해제)를 참조하세요.
Visual Studio 2015 원격 도구 Visual Studio 2015용 원격 도구는 My.VisualStudio.com에서 사용할 수 있습니다. 메시지가 표시되면 무료 Visual Studio Dev Essentials 프로그램에 가입하거나 Visual Studio 구독 ID로 로그인하세요. Windows Server에서 원격 도구 다운로드에 대한 도움말은 Unblock the file download(파일 다운로드 차단 해제)를 참조하세요.
Visual Studio 2013 원격 도구 Visual Studio 2013 설명서의 다운로드 페이지
Visual Studio 2012 원격 도구 Visual Studio 2012 설명서의 다운로드 페이지
버전 링크 참고
Visual Studio 2019 원격 도구 모든 Visual Studio 2019 버전과 호환됩니다. 디바이스 운영 체제(x86, x64 또는 ARM64)와 일치하는 버전을 다운로드합니다. Windows Server에서 원격 도구 다운로드에 대한 도움말은 Unblock the file download(파일 다운로드 차단 해제)를 참조하세요. 원격 도구 최신 버전의 경우 Visual Studio 2022 문서를 엽니다.
Visual Studio 2017 원격 도구 모든 Visual Studio 2017 버전과 호환됩니다. 디바이스 운영 체제(x86, x64 또는 ARM64)와 일치하는 버전을 다운로드합니다. Windows Server에서 원격 도구 다운로드에 대한 도움말은 Unblock the file download(파일 다운로드 차단 해제)를 참조하세요.
Visual Studio 2015 원격 도구 Visual Studio 2015용 원격 도구는 My.VisualStudio.com에서 사용할 수 있습니다. 메시지가 표시되면 무료 Visual Studio Dev Essentials 프로그램에 가입하거나 Visual Studio 구독 ID로 로그인하세요. Windows Server에서 원격 도구 다운로드에 대한 도움말은 Unblock the file download(파일 다운로드 차단 해제)를 참조하세요.
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을 사용합니다.

일부 시나리오에서는 파일 공유에서 원격 디버거를 실행하는 것이 가장 효율적일 수 있습니다. 자세한 내용은 파일 공유에서 원격 디버거 실행을 참조하세요.

원격 디버거 설치

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

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

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

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

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

    Screenshot of remote debugger configuration.

    Screenshot of remote debugger configuration.

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

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

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

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

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

    Screenshot of remote debugger window

    Screenshot of remote debugger window

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

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

<Remote debugger installation directory>\msvsmon.exe

참고

추가 사용자를 위해 사용 권한을 추가하거나 원격 디버거의 인증 모드 또는 포트 번호를 변경해야 하는 경우 원격 디버거 구성을 참조하세요.

C++ 프로젝트 원격 디버그

다음 절차에서 프로젝트의 경로는 C:\remotetemp이고 원격 컴퓨터의 이름은 MySurface입니다.

  1. CppConsoleApp이라는 C++ 콘솔 애플리케이션을 만듭니다.

  2. main 함수에서 CppConsoleApp.cpp 등 쉽게 연결할 수 있는 애플리케이션의 어딘가에 중단점을 설정합니다.

  3. 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다. 디버깅 탭을 엽니다.

  4. 실행할 디버거원격 Windows 디버거로 설정합니다.

    Screenshot of the Debugging tab in the Visual Studio Solution Explorer Properties. The Debugger to launch property is set to Remote Windows Debugger.

  5. 다음과 같이 속성을 변경합니다.

    설정
    원격 명령 C:\remotetemp\CppConsoleApp.exe
    작업 디렉터리 C:\remotetemp
    원격 서버 이름 MySurface:portnumber
    연결 Windows 인증을 사용한 원격
    디버거 형식 네이티브 전용
    배포 디렉터리 C:\remotetemp
    배포할 추가 파일 $(ProjectDir)\data

    추가 폴더를 배포하고 폴더의 모든 파일을 동일한 폴더에 배포하려면 폴더 이름을 지정합니다.

    속성에 대한 자세한 내용은 C++ 디버그 구성에 대한 프로젝트 설정을 참조하세요.

  6. 솔루션 탐색기에서 솔루션을 마우스 오른쪽 단추로 클릭하고 Configuration Manager를 선택합니다.

  7. 디버그 구성의 경우 배포 확인란을 선택합니다.

    Screenshot of the Configuration Manager in the Visual Studio Solution Explorer. The Debug configuration is selected, and Deploy is checked.

  8. 디버깅을 시작합니다(디버그 > 디버깅 시작 또는 F5).

  9. 실행 파일이 원격 컴퓨터에 자동으로 배포됩니다.

  10. 메시지가 표시되면 네트워크 자격 증명을 입력하여 원격 컴퓨터에 연결합니다.

    필요한 자격 증명은 네트워크의 보안 구성에 따라 다릅니다. 예를 들어 도메인 컴퓨터에서는 보안 인증서를 선택하거나 도메인 이름 및 암호를 입력할 수 있습니다. 도메인이 아닌 머신에서는 머신 이름, 올바른 사용자 계정 이름(예: MySurface\name@something.com)을 올바른 암호와 함께 입력할 수 있습니다.

  11. Visual Studio 컴퓨터에서 실행이 중단점에서 중지된 것이 표시됩니다.

    또는 별도의 단계로 파일을 배포할 수 있습니다. 솔루션 탐색기에서 프로젝트 노드를 마우스 오른쪽 단추로 클릭하고 배포를 선택합니다.

    애플리케이션에 필요한 비코드 파일이 있는 경우 원격 Windows 디버거 페이지의 배포할 추가 파일에서 세미콜론으로 구분된 목록으로 해당 파일을 지정할 수 있습니다.

    또는 프로젝트에 파일을 포함하고 각 파일에 대한 속성 페이지에서 콘텐츠 속성을 로 설정할 수 있습니다. 이러한 파일은 원격 Windows 디버거 페이지에 지정된 배포 디렉터리에 복사됩니다. 또한 배포 디렉터리의 하위 폴더에 파일을 복사해야 하는 경우 항목 종류파일 복사로 변경하고 여기에서 추가 속성을 지정할 수 있습니다.

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

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

원격 기호를 사용해야 하는 경우 도구 > 옵션 > 디버깅 > 기호의 기호 검색 경로에 Windows 파일 공유를 추가하여 Visual Studio에서 원격 기호를 지정해야 합니다.