다음을 통해 공유


오류: 웹 서버에서 디버깅을 시작할 수 없습니다.

웹 서버에서 실행되는 응용 프로그램을 디버깅하려고 할 때 이 오류 메시지가 나타날 수 있습니다.

Unable to start debugging on the Web server

메시지가 이보다 긴 경우에 대한 자세한 내용은 이 항목의 하위 항목에서 다룹니다.

이 오류가 발생하면 다음과 같은 사항을 고려해야 합니다.먼저 검사 항목을 확인한 다음 하드웨어 및 소프트웨어 구성에 따라 나머지 항목을 고려합니다.

  • 검사 항목

  • 원격 서버의 웹 응용 프로그램

  • Visual SourceSafe에 저장된 웹 응용 프로그램 및 FrontPage Server Extensions 사용

  • 수동 연결

  • 구문이 잘못되어 디버깅 요청을 서버에서 처리할 수 없음

검사 항목

다음 항목을 검사합니다.

  • ASP.NET 또는 ATL 서버의 설치 절차를 검토합니다.자세한 내용은 ASP.NET 디버깅 준비를 참조하십시오.

  • 디버깅에 필요한 액세스 권한이 있습니까?자세한 내용은 ASP.NET 디버깅: 시스템 요구 사항보안 요구 사항 단원을 참조하십시오.

  • Visual Studio 디버거가 자동으로 웹 응용 프로그램에 연결될 수 있는 Windows 버전을 실행하고 있습니까?그렇지 않다면 디버깅하지 않고 수동으로 연결해서 해당 응용 프로그램을 시작해야 합니다.자세한 내용은 수동 연결 및 ASP.NET 디버깅: 시스템 요구 사항을 참조하십시오.

  • 웹 응용 프로그램에 Web.config 파일이 있습니까?

    • Web.config 파일에서 debug 특성을 true로 설정하여 디버그 모드가 사용할 수 있게 설정되었습니까?자세한 내용은 방법: ASP.NET 응용 프로그램에 디버깅 사용을 참조하십시오.

    • Web.config 파일에 구문 오류가 있습니까?디버깅하지 않고 웹 응용 프로그램을 실행하여 구문 오류를 검사합니다.디버그 메뉴에서 디버깅하지 않고 시작을 선택합니다. Web.config에 구문 오류가 있으면 자세한 내용이 표시됩니다.

  • 100.20.300.400과 같이 특정 IP 주소를 지정하여 프로젝트를 만들었습니까?웹 서버 디버깅에는 NTLM 인증이 필요합니다.기본적으로 IP 주소는 인터넷의 일부로 인식되는데 인터넷에서는 NTLM 인증을 수행할 수 없습니다.이 문제를 해결하려면 다음 단계를 수행합니다.

    • 프로젝트를 만들 때 인트라넷에 있는 컴퓨터 이름을 지정합니다.

      또는

    • http://100.20.300.400과 같은 IP 주소를 사용자 컴퓨터의 신뢰할 수 있는 사이트 목록에 추가합니다.Internet Explorer의 도구 메뉴에서 인터넷 옵션을 선택한 다음 보안 탭을 선택합니다.

    필요한 확장이 서버 컴퓨터에 등록되어 있습니까?그렇지 않으면 아래 절차에 설명된 대로 ASP.NET을 다시 등록합니다.

  • Visual Studio를 설치한 후 로컬 컴퓨터(Visual Studio를 실행하는 컴퓨터)에 IIS를 설치했습니까?IIS는 Visual Studio보다 먼저 설치해야 합니다.IIS를 나중에 설치한 경우에는 ASP.NET을 다시 등록해야 합니다.

    ASP.NET을 다시 등록하려면

    1. 명령 프롬프트 창에서 systemroot\Microsoft.NET\Framework\ versionNumber \aspnet_regiis -i 명령을 실행합니다.

      참고   Windows Server 2003에서는 제어판의 프로그램 추가/제거를 사용하여 ASP.NET을 설치할 수 있습니다.

    2. Visual Studio 디스크를 삽입하고 설치 프로그램을 실행한 다음 복구/다시 설치를 선택합니다.이 설치 프로그램은 wwwroot$ 공유를 만들고 적절한 사용 권한을 추가합니다.

  • 통합 인증이 설정되어 있는 상태에서 로컬 루프백 주소에 사이트 이름이 매핑됩니까?해결 방법은 기술 자료 문서를 참조하십시오.

  • 프로젝트 시작 페이지의 URL이 제대로 지정되었습니까?확장명과 프로젝트 디렉터리가 정확합니까?

  • 웹 응용 프로그램에 대한 IIS 설정을 확인합니다.자세한 내용은 방법: IIS 속성 설정 확인을 참조하십시오.

  • 웹 서버에 두 가지 버전의 .NET Framework가 설치된 경우 IIS 설정에 올바른 버전이 설정되어 있는지 확인합니다.자세한 내용은 방법: IIS 속성 설정 확인을 참조하십시오.

원격 서버의 웹 응용 프로그램

웹 응용 프로그램이 원격 서버에 있으면 먼저 검사 항목의 모든 항목을 검사합니다.그런 후 다음을 확인합니다.

  • IIS 서버를 실행하는 컴퓨터에 Visual Studio 원격 구성 요소가 설치되어 있습니까?자세한 내용은 ASP.NET 디버깅 준비를 참조하십시오.

  • 디버깅에 필요한 액세스 권한이 있습니까?자세한 내용은 ASP.NET 디버깅: 시스템 요구 사항보안 요구 사항 단원을 참조하십시오.

  • 터미널 서버를 사용해 원격 컴퓨터의 웹 응용 프로그램을 디버깅하려고 합니까?터미널 서버를 사용한 네이티브 웹 응용 프로그램의 원격 디버깅은 Windows XP에서 지원되며,Windows 2000 또는 Windows NT에서는 지원되지 않습니다.

Visual SourceSafe에 저장된 웹 응용 프로그램 및 FrontPage Server Extensions 사용

웹 응용 프로그램이 Visual SourceSafe에 저장되어 있고 FrontPage Server Extensions를 웹 액세스 모드로 사용하는 경우 다음 항목을 검사합니다.

  • Visual SourceSafe가 FrontPage Server/웹 서버와 같은 컴퓨터에 있습니까?이러한 경우에는 통합 인증을 사용하여 디버깅을 할 수 있습니다.통합 인증 설정을 검사하려면 다음 항목 방법: IIS 속성 설정 확인에 있는 웹 응용 프로그램에 대한 IIS 설정을 확인하려면 절차를 참조하십시오.

구문이 잘못되어 디버깅 요청을 서버에서 처리할 수 없음

서버에서 잘못된 구문으로 인해 디버깅 요청을 처리할 수 없는 경우가 있습니다.잘못된 요청 구문은 machine.config 파일에서 실수로 발생할 수 있습니다.machine.config 파일에서 maxRequestLength를 40,960,000과 같이 터무니 없이 큰 값으로 설정하면 이 오류가 발생합니다.

수동 연결

문제 해결 단계를 수행했는데도 디버깅을 시작할 때 오류 메시지가 나타나면 수동으로 연결하여 디버깅을 시도할 수 있습니다.

수동으로 연결하려면

  1. 디버깅하지 않고 응용 프로그램을 시작합니다.디버그 메뉴에서 디버깅하지 않고 시작을 선택합니다.

  2. 적절한 IIS 프로세스 또는 작업자 프로세스의 이름을 확인합니다.ATL 서버 응용 프로그램의 이름은 기본적으로 inetinfo.exe입니다.ASP.NET 작업자 프로세스의 이름을 확인하려면 방법: ASP.NET 프로세스의 이름 찾기를 참조하십시오.

    다음 절차 중 하나를 사용하여 ASP.NET 또는 ATL 서버 응용 프로그램이 실행되는 프로세스를 확인합니다.

  3. 이전 단계에서 확인한 프로세스에 연결합니다.자세한 내용은 방법: 실행 중인 프로세스에 연결을 참조하십시오.

ASP.NET 응용 프로그램이 실행되는 프로세스를 확인하려면

  1. Visual Studio나 다른 텍스트 편집기를 사용하여 응용 프로그램의 machine.config 파일을 엽니다.

  2. system.web 노드 내에서 ProcessModel 노드를 찾아 해당 enable 특성을 확인합니다.

    enable이 TRUE로 설정된 경우 응용 프로그램은 aspnet_wp.exe 또는 w3wp.exe에서 실행됩니다.이것이 기본 설정입니다.

    enable이 FALSE로 설정된 경우 응용 프로그램은 inetinfo.exe에서 실행됩니다.

ATL 서버 응용 프로그램이 실행되는 프로세스를 확인하려면

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

  2. <Project> 속성 페이지 대화 상자에서 웹 배포 폴더를 열고 일반을 선택합니다.

  3. 응용 프로그램 보호 설정을 찾습니다.

    이 설정이 **낮음(IIS 프로세스)**이면 응용 프로그램은 inetinfo.exe에서 실행됩니다.

    이 설정이 **보통(풀링)**이면 응용 프로그램은 dllhost.exe 프로세스에서 풀링된 다른 ATL 서버 응용 프로그램과 함께 실행됩니다.

    이 설정이 **높음(격리)**이면 응용 프로그램은 dllhost.exe 프로세스에서 다른 ATL 서버 응용 프로그램과 별도로 실행됩니다.

  4. 확인을 클릭하여 <Project> 속성 페이지 대화 상자를 닫습니다.

참고 항목

작업

오류: 요청한 리소스를 웹 서버에서 찾지 못했습니다.

참조

웹 응용 프로그램 디버깅: 오류 및 문제 해결

기타 리소스

ASP.NET 디버깅 준비