방법: ASP.NET 응용 프로그램에 디버깅 사용

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

Edition

Visual Basic

C#

F#

C++

Web Developer

Express

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

Pro, Premium 및 Ultimate

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

디버깅을 사용하려면 프로젝트 속성 페이지와 응용 프로그램의 web.config 파일에서 모두 디버깅을 사용하도록 설정해야 합니다.

참고

표시되는 대화 상자와 메뉴 명령은 활성 설정이나 버전에 따라 도움말에서 설명하는 것과 다를 수 있습니다. 설정을 변경하려면 도구 메뉴에서 설정 가져오기 및 내보내기를 선택합니다. 자세한 내용은 설정에 대한 작업을 참조하십시오.

프로젝트 속성에서 ASP.NET 디버깅을 사용하도록 설정하려면(Visual Basic/C#)

  1. 솔루션 탐색기에서 웹 프로젝트 이름을 마우스 오른쪽 단추로 클릭한 다음 속성 페이지를 선택합니다.

    <Project> 속성 페이지가 나타납니다.

  2. 탭을 클릭합니다.

  3. 디버거 아래에서 ASP.NET 확인란을 선택합니다.

web.config 파일에서 디버깅을 사용하도록 설정하려면

  1. 표준 텍스트 편집기나 XML 파서를 사용하여 web.config 파일을 엽니다.

    1. 그러나 웹 브라우저를 사용해 파일에 원격으로 액세스할 수는 없습니다. ASP.NET은 보안상의 이유로 브라우저를 통해 Web.config 파일에 직접 액세스하지 못하도록 Microsoft IIS를 구성합니다. 브라우저를 통해 구성 파일에 액세스하려고 하면 HTTP 액세스 오류 403(사용할 수 없음) 메시지가 표시됩니다.
  2. Web.config는 XML 파일이므로 태그로 표시된 중첩 섹션이 포함되어 있습니다. 다음 예제에서는 일반 Web.config 파일을 보여 줍니다. 다음 단계를 수행하여 파일을 수정합니다.

    1. <compilation> 태그를 찾아 <compilation> 섹션의 시작을 표시합니다.

    2. <compilation> 태그 안에 debug 특성을 만듭니다. 다음 예제에서는 debug 특성이 <compilation> 태그의 두 번째 특성으로 지정되어 있지만 순서는 중요하지 않습니다.

    3. 특성은 대/소문자를 구분하므로 "Debug"나 "DEBUG"가 아닌 "debug"를 지정해야 합니다.

    4. 다음 코드 예제에서처럼 debug를 true로 설정합니다.

  3. debug 특성을 true로 설정하지 않고 디버깅 세션을 시작하면 이 특성을 설정하여 web.config 파일을 만들도록 하는 대화 상자가 나타납니다. 동의한 후 디버깅을 계속합니다.

예제

<configuration>
    <system.web>
        <compilation defaultLanguage="VB"
            debug="true"
            numRecompilesBeforeAppRestart="15">
            <compilers>
            <compiler language="VB;VBScript"
            extension=".cls"
            type="Microsoft.VisualBasic.VBCodeProvider,system, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089" />
            < compiler language="C#;Csharp"
                extension=".cs" 
                type="Microsoft.CSharp.CSharpCodeProvider,system, Version=1.0.5000.0,  Culture=neutral, PublicKeyToken=b77a5c561934e089" />
        </compilers>

        <assemblies>
""            <add assembly="ADODB" />
            <add assembly="*" />
            </assemblies>

            <namespaces>
            <add namespace="System.Web" />
            <add namespace="System.Web.UI" />
            <add namespace="System.Web.UI.WebControls" />
            <add namespace="System.Web.UI.HtmlControls" />
        </namespaces>

        </compilation>
    </system.web>
</configuration>

강력한 프로그래밍

ASP.NET은 Web.config 파일의 변경 내용을 자동으로 인식하여 새 구성 설정을 적용합니다. 변경 내용을 적용하기 위해 컴퓨터나 IIS 서버를 다시 시작할 필요가 없습니다.

웹 사이트에는 가상 디렉터리 및 하위 디렉터리가 여러 개 포함될 수 있으며 각 디렉터리에 Web.config 파일이 있을 수 있습니다. ASP.NET 응용 프로그램은 URL 경로의 상위 수준에 있는 Web.config 파일의 설정을 상속합니다. 계층적 구성 파일을 사용하면 여러 ASP.NET 응용 프로그램, 즉 계층 구조에서 해당 구성 파일 아래에 있는 모든 응용 프로그램에 대한 설정을 동시에 변경할 수 있습니다. 그러나 계층 구조에서 하위 파일에 debug가 설정되어 있으면 이 값이 상위 값을 재정의합니다.

예를 들어, www.microsoft.com/aaa/Web.config에 debug="true"를 지정하면 aaa 폴더 또는 aaa의 모든 하위 폴더에 있는 모든 응용 프로그램이 이 설정을 상속합니다. 따라서 ASP.NET 응용 프로그램이 www.microsoft.com/aaa/bbb에 있는 경우 www.microsoft.com/aaa/ccc, www.microsoft.com/aaa/ddd 등에 있는 모든 ASP.NET 응용 프로그램과 마찬가지로 해당 설정을 상속합니다. 단, 이러한 응용 프로그램 중 하나가 고유한 하위 Web.config 파일을 사용하여 설정을 재정의하는 경우는 예외입니다.

디버그 모드를 사용하면 ASP.NET 응용 프로그램의 성능에 크게 영향을 줍니다. 릴리스용 응용 프로그램을 배포하거나 성능을 측정하기 전에 반드시 디버그 모드를 해제하십시오.

참고 항목

기타 리소스

ASP.NET 및 AJAX 응용 프로그램 디버깅