방법: 클라이언트측 스크립트 디버깅 사용
[이 도움말 항목은 Visual Studio 시험판의 도움말로서 향후 릴리스에서 변경될 수 있습니다. 빈 도움말 항목은 임시로 포함되었습니다.]
Visual Studio 디버거는 웹 문서 스크립트에서 오류를 테스트하고 수정하는 통합 디버깅 환경을 제공합니다. Visual Studio 디버거에서는 Microsoft VBScript(Visual Basic Scripting Edition) 및 Microsoft JScript로 작성된 스크립트를 테스트할 수 있습니다.
또한 Visual Studio 디버거를 사용하여 ASP.NET 페이지의 클라이언트측 스크립트를 디버깅할 수 있습니다. 클라이언트측 스크립트는 HTML 페이지에 나타나는 문으로 구성됩니다. Microsoft Internet Explorer는 해당 문서가 로드될 때나 단추 클릭 등의 이벤트에 대한 응답으로 스크립트를 실행합니다.
클라이언트측 스크립트에 중단점 설정
클라이언트측 스크립트에 중단점을 설정하려는 경우 프로젝트의 .aspx 파일에서 직접 중단점을 설정할 수는 없습니다. .aspx 파일은 서버측 문서이므로 이 파일에서 설정한 중단점은 클라이언트측 문서로 변환되지 않습니다. 따라서 다음 중 한 가지 방법으로 클라이언트측 중단점을 설정할 수 있습니다.
클라이언트측 스크립트에 중단점을 설정하려면
모든 클라이언트측 스크립트를 단일 함수에 작성하고 이 함수에 중단점을 설정합니다. 자세한 내용은 How to: Set a Function Breakpoint을 참조하십시오.
- 또는 -
스크립트 탐색기에서 클라이언트측 스크립트를 열고 중단점을 설정합니다. 자세한 내용은 How to: Use the Script Explorer Window을 참조하십시오.
스크립트 디버깅 사용
Internet Explorer에서는 스크립트 디버깅을 기본적으로 사용하지 않습니다. 클라이언트측 스크립트 응용 프로그램을 디버깅하려면 먼저 Internet Explorer에서 스크립트 디버깅을 사용하도록 설정해야 합니다.
![]() |
---|
표시되는 대화 상자와 메뉴 명령은 실제 설정이나 버전에 따라 도움말에서 설명하는 것과 다를 수 있습니다. 설정을 변경하려면 도구 메뉴에서 설정 가져오기 및 내보내기를 선택합니다. 자세한 내용은 Visual Studio Settings을 참조하십시오. |
Internet Explorer 5.5 이상에서 스크립트 디버깅을 사용하려면
도구 메뉴에서 인터넷 옵션을 클릭합니다.
인터넷 옵션 대화 상자에서 고급 탭을 클릭합니다.
탐색 범주에서 스크립트 디버깅 사용 안 함 확인란의 선택을 취소합니다.
확인을 클릭합니다.
Internet Explorer를 닫으면 이 옵션이 적용됩니다.
뿐만 아니라 클라이언트측 스크립트의 중단점을 적중시키려면 ASPCLIENTDEBUG라는 쿠키를 설정해야 합니다. 이 쿠키가 자동으로 설정되지 않으면 다음 작업을 통해 수동으로 설정할 수 있습니다.
ASPCLIENTDEBUG 쿠키를 수동으로 설정하려면
다음 코드가 포함된 HTML 텍스트 파일을 만듭니다.
<html> <head> <script language="JavaScript"> function set () { var expdate = new Date(); expdate.setMonth(expdate.getMonth()+6); alert("setting cookie \""+form1.txtName.value+"\" to \""+form1.txtValue.value+"\""); setCookie(form1.txtName.value, form1.txtValue.value, expdate); } function get () { alert("getting cookie \""+form1.txtName.value+"\""); var c = getCookie(form1.txtName.value); alert( "cookie = "+c ); form1.txtValue.value = c; } function getCookie (sCookieName) { var sName=sCookieName+"=", ichSt, ichEnd; var sCookie=document.cookie; if ( sCookie.length && ( -1 != (ichSt = sCookie.indexOf(sName)) ) ) { if (-1 == ( ichEnd = sCookie.indexOf(";",ichSt+sName.length) ) ) ichEnd = sCookie.length; return unescape(sCookie.substring(ichSt+sName.length,ichEnd)); } return null; } function setCookie (sName, vValue) { var argv = setCookie.arguments, argc = setCookie.arguments.length; var sExpDate = (argc > 2) ? "; expires="+argv[2].toGMTString() : ""; var sPath = (argc > 3) ? "; path="+argv[3] : ""; var sDomain = (argc > 4) ? "; domain="+argv[4] : ""; var sSecure = (argc > 5) && argv[5] ? "; secure" : ""; document.cookie = sName + "=" + escape(vValue,0) + sExpDate + sPath + sDomain + sSecure + ";"; } function deleteCookie (sName) { document.cookie = sName + "=" + getCookie(sName) + "; expires=" + (new Date()).toGMTString() + ";"; } </script> </head> <body> <form name=form1> cookie name:<input type="text" name="txtName" value="ASPCLIENTDEBUG"><p> cookie value:<input type="text" name="txtValue" value="doesn't matter"><p> <input type="button" value="Set Cookie" onClick="set()"> <input type="button" value="Get Cookie" onClick="get()"> </form> </body> </html>
이 파일을 cookie.html로 저장합니다.
이 파일을 다음 위치에 복사합니다.
c:\inetpub\wwwroot
Internet Explorer 주소 상자에 다음과 같이 입력합니다.
https://localhost/cookie.html
https://localhost/cookie.html 창에서 Set Cookie 단추를 클릭합니다.
스크립트 디버깅에 대한 자세한 오류 메시지
Visual Studio에서는 일반적인 스크립트 디버깅 문제에 대한 자세한 오류 메시지를 제공합니다. 일반적으로 이러한 메시지는 디버거에서 자동으로 Internet Explorer를 실행하는 것이 아니라 사용자가 수동으로 Internet Explorer에 연결해야만 표시됩니다. 문제가 발생하면 다음 절차에 따라 수동으로 연결한 다음 자세한 정보를 보십시오.
수동으로 연결하려면
디버그 메뉴에서 창을 클릭한 다음 프로세스를 클릭합니다.
프로세스 대화 상자가 나타납니다.
디버깅을 이미 시작한 경우에는 디버깅 중인 프로세스를 선택하고 분리를 클릭합니다.
확인을 클릭하여 프로세스 창을 닫습니다.
프로세스 창을 마우스 오른쪽 단추로 클릭하고 바로 가기 메뉴에서 프로세스에 연결을 클릭합니다.
프로세스에 연결 대화 상자에서 Internet Explorer(iexplore.exe)를 찾아 선택합니다.
선택을 클릭하여 디버깅할 코드 형식을 선택합니다.
코드 형식 선택 대화 상자의 다음 코드 형식 디버깅에서 스크립트를 선택합니다.
확인을 클릭하여 코드 형식 선택 대화 상자를 닫습니다.
확인을 클릭하여 프로세스에 연결 대화 상자를 닫습니다.
오류 메시지 상자가 나타납니다. 이 상자에서 도움말 단추를 클릭하여 자세한 정보를 봅니다.