Share via


빌드 문제 진단

빌드 문제 진단 및 수정은 소프트웨어 개발에서 일반적인 작업입니다. Team Foundation Build는 다음과 같은 문제를 진단하여 디버그하는 데 유용한 도구를 제공합니다.

  • 빌드 실패 또는 부분적 성공

  • 예외, 오류 또는 경고

  • 예기치 않은 이벤트 또는 결과

수행할 작업

  • 빌드가 실행 중이 아닌 이유 확인

  • 빌드 결과 창에서 문제에 대한 정보 찾기

  • 진단 로그 요청 및 보기

  • 빌드 시스템을 확인하고 빌드 프로세스 디버그

  • 더 많은 팁 보기

필요한 권한

빌드 서버에서 Windows Administrators 그룹의 멤버이고 팀 프로젝트 컬렉션에서 Project Collection Build Administrators 그룹의 멤버여야 합니다. Team Foundation Server에 대한 사용 권한 참조을 참조하십시오.

빌드가 실행 중이 아닌 이유 확인

빌드가 큐에서 다음이지만 아직 실행 중이 아닌 경우 빌드 컨트롤러와 하나 이상의 빌드 에이전트가 사용 가능 및 사용 상태인지 확인합니다. 빌드 프로세스에 빌드 에이전트 필터가 있는 경우 조건에 맞는 빌드 에이전트가 사용 가능 및 사용 상태인지 확인합니다. 빌드 시스템 관리, 빌드를 처리하는 빌드 에이전트 지정빌드 에이전트 배포 및 구성을 참조하십시오.

빌드 결과 창에서 문제에 대한 정보 찾기

빌드가 실행 중이고 프로세스 일부에서 중단되었거나 완료된 경우 빌드 결과 창에서 문제에 대한 자세한 정보를 확인합니다. 로그 보기를 선택하여 자세한 정보를 표시합니다.

  • 빌드의 문제로 직접 이동하려면 다음 오류 또는 다음 경고를 선택합니다.

  • MSBuild 로그 파일 링크의 인스턴스가 표시될 때마다 이를 선택하여 MSBuild 활동에서 코드를 컴파일하고 다른 작업을 수행할 때 발생한 이벤트에 대한 자세한 정보를 봅니다.

  • 정보를 복사하여 문제 해결을 도울 수 있는 다른 사용자와 공유할 수 있습니다. 로그에서 특정 단락을 선택하거나 상황에 맞는 메뉴를 열고 모두 선택을 선택합니다. 그런 다음 상황에 맞는 메뉴를 열고 복사를 선택하여 클립보드에 텍스트를 복사할 수 있습니다.

진단 로그 보기

문제 진단에 필요한 충분한 정보가 없는 경우 좀 더 자세한 진단 로그를 확인합니다. 빌드 결과 창에서 진단을 선택한 후

  • 빌드가 완료된 경우 date and time의 현재 마지막 로그를 선택합니다.

  • 빌드가 완료되지 않은 경우 로그 요청을 선택합니다.

    진단 로그 검색

    시스템에서 로그를 어셈블합니다.

    로그가 준비되면 진단을 선택하고, User who requested the log에 대한 date and time 기준을 선택합니다.

빌드 단계가 UNC 경로 저장 폴더로 출력하는 경우 시스템에서 진단 로그가 있는 저장 폴더의 하위 폴더를 엽니다. 저장 폴더를 열거나 .zip 파일을 다운로드한 후 다음 로그 중 하나를 볼 수 있습니다.

  • 빌드 컨트롤러에서: ActivityLog

  • 빌드에 참여한 각 빌드 에이전트에서: **ActivityLog.AgentScope.**Build_Agent_ID

  • MSBuild 활동에 의해 컴파일된 각 솔루션에 대해: Solution_Name

이러한 로그를 보려면 개발 컴퓨터에 복사하고, 거기서 로그를 여는 것이 가장 좋습니다.

참고

Visual Studio 2010을 사용하는 경우 진단 메뉴가 빌드 결과 창에 표시되지 않지만 빌드가 완료되면 저장 폴더에서 진단 로그를 볼 수 있습니다.

빌드 시스템을 확인하고 빌드 프로세스 디버그

일부 문제는 온-프레미스 빌드 시스템으로 인해 발생할 수 있습니다.

빌드 프로세스가 실행 중인 환경에 쉽게 직접 액세스할 수 있도록 개발 컴퓨터를 빌드 서버로 배포하십시오.빌드 서버 배포 및 구성을 참조하십시오.

빌드 시스템 구성 요소 확인

빌드 서버, 컨트롤러 및 에이전트가 올바르게 구성되어 있는지 확인합니다. See 빌드 서버 배포 및 구성, 빌드 컨트롤러 배포 및 구성빌드 에이전트 배포 및 구성을 참조하십시오.

빌드 서버에 로그온하고 제대로 작동하는지 확인합니다. 빌드 서버에 대한 자세한 진단 데이터를 볼 수도 있습니다. 빌드 시스템 관리를 참조하십시오.

빌드 서버에서 빌드 프로세스 디버그

사용자 지정 빌드 프로세스 활동 또는 catch되지 않은 예외로 인해 발생한 문제를 진단하려면 빌드 서버에서 빌드 프로세스를 디버깅해 보십시오.

  1. 빌드 서버에 로그온합니다.

  2. 관리자 권한으로 Visual Studio를 실행합니다.

  3. Visual Studio의 메뉴 모음에서 도구, 프로세스에 연결을 선택합니다.

  4. 프로세스에 연결 대화 상자:

    1. 모든 사용자의 프로세스 표시를 선택합니다.

    2. TFSBuildServiceHost.exe를 선택합니다.

    3. 연결을 선택합니다.

  5. 메뉴 모음에서 디버그, 예외를 선택합니다. 예외 대화 상자에서 Common Language Runtime Exceptions를 선택합니다. 확인을 선택합니다.

  6. 메뉴 모음에서 도구, 옵션을 선택합니다. 옵션 대화 상자의 트리 창에서 디버깅을 선택합니다. 일반 목록에서 내 코드만 사용 확인란의 선택을 취소합니다. 확인을 선택합니다.

  7. Visual Studio에서 빌드를 큐에 대기시키고 빌드가 디버거를 사용하도록 설정한 빌드 서버에서 호스팅되는 빌드 서버와 빌드 컨트롤러에서 실행되는지 확인합니다.

이제 빌드 프로세스 중 throw된 예외를 디버그하거나 중단점을 설정하고 사용자 지정 빌드 프로세스 활동을 디버그할 수 있습니다. Visual Studio의 디버깅를 참조하십시오.

  • 팁 빌드 프로세스의 문제를 진단하는 동안 프로세스를 복구할 수 있을 때까지 일시 중지할 수 있습니다.

    • 빌드 정의를 편집한 다음 일반 탭 하단에서 일시 중지됨을 선택합니다.

    • 빌드 프로세스에 대한 수정 사항을 테스트하려면 큐에 대기 중인 빌드를 선택하고, 상황에 맞는 메뉴를 연 다음 지금 시작을 선택합니다.

  • 팁빌드 시스템 구성 요소 중 하나가 문제의 원인인 경우 빌드 서버를 시작, 중지 또는 재시작하거나 필요에 따라 컨트롤러 또는 에이전트를 사용하거나 사용하지 않습니다. 빌드 시스템 관리를 참조하십시오.

  • 팁빌드 프로세스 문제를 해결하는 동안 반복적으로 다양한 수정 프로그램을 테스트하기 위해 동일한 옵션으로 빌드를 큐에 대기시켜야 하는 경우가 있습니다. 다음과 같이 빌드를 빠르게 다시 시도할 수 있습니다.

    • 빌드 결과 창에서 작업, 다시 빌드를 선택합니다.

    • Team 탐색기의 빌드 페이지나 빌드 탐색기에서 완료된 빌드를 선택하고 상황에 맞는 메뉴를 열고 빌드 다시 시도를 선택합니다.

  • 팁호스팅된 빌드 컨트롤러를 사용하고 있습니까? 호스팅된 빌드 컨트롤러 사용을 참조하십시오.