다음을 통해 공유


방법: ASP.NET 솔루션에서 테스트를 실행하는 동안 디버깅

ASP.NET 웹 프로젝트를 테스트하기 위해 사용 중인 단위 테스트와 웹 테스트를 모두 디버깅할 수 있습니다.테스트를 실행하는 동안 ASP.NET 프로덕션 코드를 디버깅할 수도 있습니다.

그러나 ASP.NET 코드를 테스트하면 테스트 코드가 VSTestHost 프로세스에서 일반적인 방법으로 실행되지 않습니다.대신 테스트 코드가 IIS 프로세스 또는 ASP.NET Development Server 프로세스(웹 사이트가 파일 기반인 경우)에서 실행됩니다.테스트가 일반 테스트 프로세스가 아닌 프로세스에서에서 실행 하기 때문에 선택은 단위 테스트를 디버그 [테스트] 메뉴에서 옵션 테스트가 실행 되는 동안 디버깅 되지 않습니다.

마찬가지로 디버깅이 사용되지 않고 디버거가 ASP.NET Development Server 또는 IIS 프로세스에 연결되지 않은 경우 ASP.NET 프로덕션 코드를 한 단계씩 실행할 수 없습니다.

다음 각 절차에서 새 웹 사이트 대화 상자를 사용하여 ASP.NET 웹 사이트 프로젝트를 만듭니다.이 대화 상자에서 위치 목록 상자를 사용하여 웹 사이트의 위치를 선택합니다.여기에서 선택한 항목에 따라 나중에 디버거를 연결할 프로세스 및 ASP.NET 솔루션에서 테스트를 실행하면서 따라야 하는 디버깅 단계가 결정됩니다.IIS 및 ASP.NET Development Server를 선택할 수 있습니다.

  • IIS에서 실행 도중 디버깅

  • ASP.NET Development Server에서 실행 도중 디버깅

IIS에서 실행 도중 디버깅

다음 절차에서는 프로세스에 디버거를 연결합니다.설치된 IIS 버전은 운영 체제에 따라 결정되므로 프로세스의 이름은 사용 중인 운영 체제에 따라 다릅니다.

IIS에서 ASP.NET 테스트를 실행하면서 디버깅하려면

  1. 테스트하려는 ASP.NET 웹 사이트 프로젝트와 해당 프로젝트를 테스트할 ASP.NET 단위 테스트를 만듭니다.

    이 웹 사이트 프로젝트를 만들 때 새 웹 사이트 대화 상자에서 위치로 HTTP 또는 FTP를 선택합니다.이렇게 하면 IIS가 호스트 프로세스가 됩니다.

  2. ASP.NET 웹 프로젝트에서 디버깅을 활성화합니다.이렇게 하려면 프로젝트의 웹 구성 파일을 편집합니다.프로젝트에 이미 Web.config 파일이 있으면 4단계로 이동합니다.그렇지 않은 경우, 지금 추가: 웹 사이트 프로젝트에 대 한 바로 가기 메뉴에서 솔루션을 열고 선택 새 항목 추가.

    새 항목 추가 대화 상자가 표시됩니다.

  3. 새 항목 추가 대화 상자에서 선택한 웹 구성 파일 및 다음 선택 추가.

    Web.config 파일이 사용자의 웹 사이트 프로젝트에 추가됩니다.Web.config 파일을 사용하는 방법에 대한 자세한 내용은 방법: ASP.NET 응용 프로그램에 디버깅 사용을 참조하십시오.

  4. Web.config 파일에서 <compilation debug="false"/>로 표시되는 줄을 <compilation debug="true"/>로 변경합니다.

  5. (선택 사항) 사용자 웹 사이트에 대한 ASP.NET 단위 테스트 및 프로덕션 코드에 중단점을 설정합니다.

  6. IIS 프로세스에 디버거를 연결합니다.이렇게 하려면 디버그 및 다음 선택 프로세스에 연결.

    프로세스에 연결 대화 상자가 표시됩니다.

  7. 사용 가능한 프로세스에서 디버거를 연결할 프로세스의 이름을 찾습니다.

    원하는 프로세스가 표시되지 않는 경우 실행 중인 더 많은 프로세스를 표시할 수 있습니다.이렇게 하려면 모든 사용자의 프로세스 표시모든 세션의 프로세스 표시를 선택합니다.

  8. 아래에서 사용 가능한 프로세스프로세스의 이름을 선택 하 고 다음 선택 첨부.

    첨부 할 프로세스가 실행 되 고 있지 않으면이 선택 취소 및 다음 프로세스를 시작 합니다.솔루션 탐색기에서이 작업을 수행 하려면 웹 사이트 프로젝트에 대 한 바로 가기 메뉴를 열고 다음 선택 브라우저에서 보기.그런 다음 선택 디버그 및 다음 선택 프로세스에 연결 한 번 더. 프로세스의 실행을 시작 하 고 아래에 표시 됩니다 사용 가능한 프로세스.프로세스 이름을 선택 하 고 선택 첨부.

  9. 테스트를 시작합니다.

    이렇게 하려면 단위 테스트 탐색기에서 및에서 디버깅 하려는 테스트를 선택은 테스트 메뉴를 선택 단위 테스트를 디버그 다음 선택한 테스트.

    [!참고]

    테스트를 실행할 때 선택 항목 디버그 대신 선택 항목 실행을 선택할 수 있습니다.선택 항목 디버그를 선택하면 테스트 완료 후 디버거가 자동으로 분리되지만 선택 항목 실행을 선택하면 디버거가 연결된 채로 유지된다는 차이점이 있습니다.특히 디버그 도중 테스트를 몇 차례 다시 실행하려는 경우 프로세스를 매번 다시 연결할 필요가 없으므로 선택 항목 실행이 유용합니다.선택 항목 실행을 선택한 경우 디버깅을 마친 후 프로세스를 분리하려면 디버그 메뉴에서 디버깅 중지를 선택하거나 Shift+F5를 누릅니다.

ASP.NET Development Server에서 실행 도중 디버깅

ASP.NET Development Server에서 테스트를 실행하는 도중 디버깅하려면

  1. 테스트하려는 ASP.NET 웹 사이트 프로젝트와 해당 프로젝트를 테스트할 ASP.NET 단위 테스트를 만듭니다.

    이 웹 사이트 프로젝트를 만들 때 새 웹 사이트 대화 상자에서 위치로 파일 시스템을 선택합니다.이렇게 하면 ASP.NET Development Server가 호스트 프로세스가 됩니다.

  2. ASP.NET 웹 프로젝트에서 디버깅을 활성화합니다.이렇게 하려면 프로젝트의 웹 구성 파일을 편집합니다.프로젝트에 이미 Web.config 파일이 있으면 4단계로 이동합니다.그렇지 않은 경우, 지금 추가: 웹 사이트 프로젝트에 대 한 바로 가기 메뉴에서 솔루션을 열고 선택 새 항목 추가.

    새 항목 추가 대화 상자가 표시됩니다.

  3. 새 항목 추가 대화 상자에서 선택한 웹 구성 파일 및 다음 선택 추가.

    Web.config 파일이 사용자의 웹 사이트 프로젝트에 추가됩니다.Web.config 파일을 사용하는 방법에 대한 자세한 내용은 방법: ASP.NET 응용 프로그램에 디버깅 사용을 참조하십시오.

  4. Web.config 파일에서 <compilation debug="false"/>로 표시되는 줄을 <compilation debug="true"/>로 변경합니다.

  5. ASP.NET 단위 테스트 시작 부분에 System.Diagnostics.Debugger.Break() 문을 추가합니다.

    [!참고]

    코드에서 이 System.Diagnostics.Debugger.Break() 문 뒤에 나오는 중단점만 적용됩니다.

    [!참고]

    C++에서는 System::Diagnostics::Debugger::Break() 문을 사용합니다.Visual C++에서 단위 테스트를 사용하는 방법에 대한 자세한 내용은 Unit Tests and C++를 참조하십시오.

  6. 사용자 웹 사이트에 대한 ASP.NET 단위 테스트 및 프로덕션 코드에 중단점을 설정합니다.

  7. 테스트를 시작합니다.

    이렇게 하려면 단위 테스트 탐색기에서 및에서 디버깅 하려는 테스트를 선택은 테스트 메뉴를 선택 단위 테스트를 디버그 다음 선택한 테스트.

  8. 테스트 실행과 동시에 대화 상자가 표시됩니다.이 대화 상자에는 프로그램에서 중단점에 도달했다는 메시지가 표시됩니다.

  9. 선택 디버그, 인스턴스를 선택 합니다. Visual Studio 가 해당 솔루션이 로드 하 고 선택 .

    System.Diagnostics.Debugger.Break() 문에서 실행이 일시 중지된 상태로 프로세스에 Visual Studio가 연결됩니다.디버그 메뉴에서 계속을 선택하거나 F5 키를 눌러 다음 중단점까지 계속 실행할 수 있습니다.

    [!참고]

    디버깅을 마친 후 System.Diagnostics.Debugger.Break() 문을 제거해야 합니다.이렇게 하지 않으면 테스트를 실행할 때마다 중단점 대화 상자가 표시됩니다.

참고 항목

작업

방법: 테스트 실행 도중 디버그

기타 리소스

방법: ASP 디버깅을 사용 하도록 설정 합니다.NET 응용 프로그램