웹 응용 프로그램 디버깅 소개

ASP.NET page framework에서는 웹 응용 프로그램 디버깅을 위한 폭넓은 지원을 제공합니다. 그러나 웹 응용 프로그램은 분산되어 있으므로 디버깅에 관련된 특별한 주의가 필요합니다.

일반적으로 웹 응용 프로그램은 다른 유형의 Visual Studio 응용 프로그램과 같은 방법으로 디버깅합니다. 중단점을 설정하고 디버거를 시작하고 코드를 중단하고 변수를 확인하고 Visual Studio 디버거와 관련된 모든 기능을 수행할 수 있습니다. 자세한 내용은 디버거 사용을 참조하십시오.

관리되는 개체 및 관리되지 않는 개체뿐 아니라 지원되는 모든 공용 언어 런타임 언어 및 스크립트 언어를 디버깅할 수 있습니다. 자세한 내용은 관리되는 코드 디버깅을 참조하십시오. 또한 ASP.NET 페이지 프레임워크에서 제공하는 추적 모드를 사용하여 폼에 계측 메시지를 삽입할 수도 있습니다. 자세한 내용은 계측 및 추적 소개를 참조하십시오.

디버거 구성

웹 응용 프로그램을 디버깅하려면 디버깅을 수행할 컴퓨터에 특정 구성 요소가 있어야 하며 적절한 사용 권한이 있어야 합니다.

로컬 컴퓨터 구성

컴퓨터에서 웹 응용 프로그램을 로컬로 실행하는 경우, 즉 웹 서버가 작업 중인 컴퓨터에 있는 경우에는 컴퓨터에 해당 구성 요소가 자동으로 설치됩니다.

그러나 디버깅에 필요한 사용 권한이 있는지는 확인해야 합니다. Visual Studio 또는 Visual Studio 서버 구성 요소를 컴퓨터에 설치하면 Debugger Users라는 Windows 그룹이 만들어집니다. 해당 컴퓨터에서 디버깅할 수 있는 개발자는 해당 그룹의 구성원이어야 합니다. 디버거 사용자를 위한 특수 그룹이 설정되어 있으므로 서버 관리자는 해당 서버에 대해 다른 사용 권한을 갖는 사용자와 별도로 디버깅 사용 권한을 갖는 사용자를 제어할 수 있습니다.

Visual Studio를 설치하면 사용자 이름이 Debugger Users 그룹에 추가됩니다. 디버깅을 원하는 다른 사용자 또는 다른 프로필로 로그인한 사용자는 Debugger Users 그룹에 직접 추가해야 합니다.

보안 정보   사용자가 Debugger Users 그룹의 구성원이 되면 사실상 관리 수준의 권한을 부여받게 됩니다. 이러한 수준의 권한을 가지면 안 되는 사용자는 이 그룹에 포함시키지 마십시오.

원격 컴퓨터 구성

웹 서버가 다른 컴퓨터(원격 컴퓨터)에 있으면 컴퓨터가 제대로 구성되어 있는지 확인해야 합니다. 다음 작업을 수행합니다.

  • 작업 중인 컴퓨터와 서버에 DCOM이 설치되어 있는지 확인합니다. Windows 2000에는 보통 DCOM이 설치되어 있으므로 별도의 작업을 수행할 필요가 없습니다.
  • Visual Studio 서버측 구성 요소를 원격 컴퓨터에 설치합니다. 원격 컴퓨터에서 Visual Studio 설치 프로세스를 실행하고 서버 구성 요소 옵션을 선택합니다.
  • 사용자 이름을 Debugger Users 그룹에 추가하여 사용자 사용 권한을 추가합니다.
  • 디버거 사용자에게 웹 서버 프로세스에 연결할 수 있는 권한이 있는지 확인합니다. 즉, 서버 프로세스가 사용자로서 실행되거나(가장) 디버깅할 사용자에게 웹 서버에 대한 관리자 권한이 있는지 확인해야 합니다. 사용자에게 서버에 대한 관리자 권한을 주면 보안 정책을 유지하기 어려울 수 있습니다. 응용 프로그램의 Web.config 파일에서 <identity> 설정을 사용하여 ASP.NET 가장을 제어할 수 있습니다. 자세한 내용은 <identity> 요소를 참조하십시오.

원격 디버깅 구성에 대한 자세한 내용은 원격 서버에서 웹 응용 프로그램 디버깅을 참조하십시오.

로컬 컴퓨터에서 실행하거나 원격 컴퓨터에서 실행하거나 관계 없이 해당 웹 응용 프로그램만 디버깅할 수 있도록 설정해야 합니다. 그러기 위해서는 웹 응용 프로그램 프로젝트의 일부인 Web.config 파일의 <compilation> 요소에서 수행합니다. 이 설정은 컴파일러에게 디버거를 사용할 수 있도록 응용 프로그램의 컴파일된 코드에 디버깅 기호를 삽입하도록 지시합니다. 자세한 내용은 ASP.NET 응용 프로그램의 디버그 모드를 참조하십시오.

클라이언트 스크립트 디버깅

클라이언트 스크립트는 서버에서 실행되는 웹 응용 프로그램 코드와는 달리 브라우저에서 실행됩니다. Visual Studio 디버거를 사용하여 클라이언트 스크립트를 디버깅할 수 있습니다. 디버거를 사용해도 서버 코드에서 클라이언트 스크립트로의 실행을 따라갈 수 없습니다. 그러나 클라이언트 스크립트의 다른 디버깅 기능은 대부분 지원됩니다.

여러 가지 방법으로 클라이언트 스크립트를 디버깅할 수 있습니다. Visual Studio에서 디버거 명령을 사용하여 브라우저 프로세스(Iexplore.exe)에 연결하고 스크립트를 중단할 수 있습니다. 그런 다음 디버거를 다른 코드에서처럼 사용할 수 있습니다.

자세한 내용은 클라이언트측 스크립트 디버깅을 참조하십시오.

참고 항목

스크립트 및 웹 응용 프로그램 디버깅 | 디버깅