다음을 통해 공유


방법: 원격 클러스터 응용 프로그램 디버깅

이 항목은 다음 언어에 적용됩니다.

Edition

Visual Basic

C#

F#

C++

Web Developer

Express

항목이 적용되지 않음 항목이 적용되지 않음 항목이 적용되지 않음 항목이 적용되지 않음 항목이 적용되지 않음

Pro, Premium 및 Ultimate

항목이 적용되지 않음 항목이 적용됨 항목이 적용됨 항목이 적용됨 항목이 적용되지 않음

Visual Studio는 MPI 클러스터 디버깅을 지원합니다. 이 기능을 사용하면 MPI(Message Passing Interface)를 통해 통신하는 컴퓨터 클러스터에서 실행되는 병렬 프로그램을 디버깅할 수 있습니다.

MPI 디버깅 필수 구성 요소:

  • MPI가 클러스터의 각 컴퓨터에 설치 및 구성되어 있어야 합니다. MPI는 Windows Server 2003, Compute Cluster Edition에 포함되어 있습니다. 다른 MPI 구현을 사용할 수도 있습니다.

  • MPIShim.exe가 클러스터의 각 컴퓨터에 설치되어 있어야 합니다. MPIShim은 Visual Studio 2005에 포함되어 있으며 병렬 디버깅을 사용할 수 있도록 원격 디버깅 구성 요소와 함께 설치됩니다. MPIShim을 임의의 디렉터리에 설치할 수도 있지만 클러스터의 각 컴퓨터에서 이 디렉터리는 동일해야 합니다. 예를 들면 다음과 같은 경로를 사용할 수 있습니다.

    c:\windows\system32\mpishim

    또는 디버그 대상에 대한 로컬 디렉터리에 이를 설치할 수 있습니다.

  • 원격 디버깅 모니터(msvsmon)가 클러스터의 각 컴퓨터에 있어야 합니다. 방법: 원격 디버깅 모니터 실행를 참조하십시오.

  • 클러스터 컴퓨터를 디버깅하기 위한 적절한 권한이 있는 계정을 사용하여 Visual Studio 호스트(디버깅을 실행하는 컴퓨터)를 설정해야 합니다. 원격 디버깅 권한을 참조하십시오.

MPI 디버깅을 위한 Visual Studio 프로젝트를 준비하려면

  1. Visual Studio에서 병렬 응용 프로그램이 포함된 솔루션을 엽니다.

  2. 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 바로 가기 메뉴에서 속성을 선택합니다.

  3. Project 속성 대화 상자에서 디버깅을 선택합니다.

  4. 실행할 디버거 목록 상자에서 MPI 클러스터 디버거를 선택합니다.

  5. 클러스터 컴퓨터에서 MPI 응용 프로그램을 시작하는 MPIRun 또는 MPIExec의 위치를 MPIRun 명령 상자에 입력합니다. 예를 들면 다음과 같습니다.

    c:\windows\system32\mpiexec.exe

  6. MPIRun 또는 MPIExec에 전달하려는 인수를 MPIRun 인수 상자에 입력합니다. 예를 들면 다음과 같습니다.

    -np 2

  7. MPIRun 또는 MPIExec의 작업 디렉터리를 MPIRun 작업 디렉터리 상자에 입력합니다. 예를 들면 다음과 같습니다.

    c:\temp

  8. 각 클러스터 컴퓨터에서 MPI가 실행할 응용 프로그램의 경로를 응용 프로그램 명령 상자에 입력합니다. 이는 Visual Studio에서 해당 프로젝트를 연 응용 프로그램이기도 합니다. 이 경로는 클러스터의 각 컴퓨터에 대한 공유 경로이거나 로컬 경로일 수 있습니다. 경로가 로컬 경로인 경우 이는 각 컴퓨터에 대해 동일해야 합니다. 예를 들면 다음과 같습니다.

    $(TargetPath)

  9. 응용 프로그램에 전달하려는 인수를 응용 프로그램 인수 상자에 입력합니다.

  10. MPIShim.exe의 경로를 MPIShim 위치 상자에 입력합니다. 예를 들면 다음과 같습니다.

    c:\windows\system32\mpishim

  11. 디버거 형식 목록 상자를 기본값인 자동으로 그대로 두면 실행하려는 코드에 대한 올바른 디버거 형식이 디버거에서 자동 선택됩니다. 또는 응용 프로그램에 대한 올바른 형식(네이티브, 관리 또는 혼합 코드)을 직접 선택할 수 있습니다.

  12. Project 속성 대화 상자를 닫습니다.

  13. 도구 메뉴에서 옵션을 선택합니다.

  14. 옵션 대화 상자에서 디버깅 노드를 선택하고 일반 범주를 선택합니다.

  15. 한 프로세스가 중단될 때 모든 프로세스 중단 확인란을 찾습니다. 디버깅 세션을 진행하는 동안 필요한 동작에 따라 이 확인란을 선택하거나 선택 해제합니다. 이는 도구 옵션이므로 이 설정은 다시 변경하지 않는 한 모든 프로젝트에 대해 계속 적용됩니다. 자세한 내용은 방법: 실행 중단을 참조하십시오.

  16. 확인을 클릭하여 옵션 대화 상자를 닫습니다.

병렬 응용 프로그램을 디버깅하려면

  1. 디버그 메뉴에서 시작을 클릭하여 디버깅을 시작합니다.

    프로젝트를 올바르게 설정한 경우 클러스터의 모든 컴퓨터에서 응용 프로그램이 실행되기 시작합니다.

    코드에 중단점을 설정한 경우 첫 번째 중단점에서 실행이 중단됩니다.

  2. 디버그 메뉴에서 을 클릭한 다음 프로세스를 클릭합니다.

    프로세스 창이 열립니다. 이 창을 사용하여 활성 프로세스를 설정할 수 있습니다. 활성 프로세스 하나만 단계별로 실행하려면 이 창의 위쪽에 있는 단계 단추를 사용합니다.

    병렬 응용 프로그램을 디버깅하면서 DataTips를 사용하여 변수 값을 얻을 수 있습니다. DataTips에 표시되는 변수 값은 프로세스 창에 설정된 현재 활성 프로세스를 기반으로 합니다.

참고 항목

작업

방법: 프로세스 창 사용

개념

디버거 보안

기타 리소스

원격 디버깅 설치