ASP 강의 시리즈(17) ASP 스크립트 디버깅
저자:Eve Cole
업데이트 시간:2009-05-30 19:58:42
계획과 경험이 아무리 정교하더라도 스크립트 오류(버그)로 인해 ASP 서버측 스크립트가 처음부터 올바르게 실행되지 않을 수 있습니다. 즉, 디버깅, 즉 스크립트 오류를 찾아서 수정하는 것은 성공적이고 강력한 ASP 프로그램을 개발하는 데 매우 중요합니다.
Microsoft 스크립트 디버깅 도구
Microsoft® 스크립트 디버거는 신속하게 오류를 찾고 서버 측 스크립트를 대화형으로 테스트하는 데 도움이 되는 강력한 디버깅 도구입니다. 스크립트 디버거는 Windows Internet Explorer 버전 3.0 이상에서 작동합니다. 이를 통해 다음을 수행할 수 있습니다.
서버측 스크립트를 한 줄씩 실행합니다.
서버 측 스크립트가 실행되는 동안 명령 창을 열어 변수, 속성 또는 배열 요소의 값을 모니터링합니다.
특정 줄에 일시 중지 플래그를 설정하여 서버측 스크립트를 일시 중지합니다(디버깅 도구 또는 스크립트 명령 사용).
서버측 스크립트를 실행하는 동안 프로세스를 추적합니다.
참고 디버깅 도구를 사용하여 스크립트를 보고 오류를 찾을 수 있지만 스크립트를 직접 편집할 수는 없습니다. 오류를 수정하려면 편집기로 스크립트를 편집하고 저장한 후 스크립트를 실행해야 합니다.
(이 기능은 Windows 95 이상에서는 사용할 수 없습니다.)
디버깅 활성화 서버측 스크립트 디버깅을 시작하기 전에 먼저 ASP 디버깅을 지원하도록 웹 서버를 구성해야 합니다.
웹 서버 디버깅을 활성화한 후 다음 방법 중 하나를 사용하여 스크립트를 디버깅할 수 있습니다.
Microsoft 스크립트 디버거를 수동으로 열고 ASP 서버측 스크립트를 디버깅합니다.
Internet Explorer를 사용하여 .asp 파일을 요청하십시오. 파일에 오류가 포함되어 있거나 인위적으로 추가된 실행 중지 문이 있는 경우 Microsoft 스크립트 디버거가 자동으로 시작되어 스크립트를 표시하고 오류의 원인을 나타냅니다.
스크립트 오류 서버 측 스크립트를 디버깅할 때 다양한 유형의 오류가 발생할 수 있습니다. 이러한 오류 중 일부는 스크립트가 올바르게 실행되지 못하게 하여 프로그램 실행을 중지시키거나 잘못된 결과를 반환합니다.
구문 오류 구문 오류는 잘못된 스크립트 구문으로 인해 자주 발생하는 오류입니다. 예를 들어, 철자가 틀린 명령이나 잘못된 매개변수가 함수에 전달되면 오류가 발생합니다. 구문 오류로 인해 스크립트가 실행되지 않을 수 있습니다.
런타임 오류 런타임 오류는 스크립트 실행 중에 불가능한 작업을 수행하려고 하는 스크립트 명령으로 인해 발생합니다. 예를 들어, 다음 스크립트에는 런타임 오류를 생성하는 0으로 나누는(잘못된 수학 연산) 함수가 포함되어 있습니다.
<스크립트 언어 = "VBScript" runat = 서버>
결과 = 찾기답변(15)
document.write ("답은 " &Result)
함수 찾기답변(x)
'이 문은 런타임 오류를 생성합니다.
찾기답변 = x/0
기능 종료
</script>
런타임 오류를 일으키는 오류는 스크립트가 실행되는 동안 중단되지 않도록 수정되어야 합니다.
논리 오류 논리 오류는 잠재되어 감지하기 어려운 경우가 많습니다. 입력 오류나 잘못된 프로그램 논리 흐름으로 인해 논리 오류가 발생하는 경우 스크립트는 성공적으로 실행되지만 잘못된 결과가 발생할 수 있습니다. 예를 들어, 값 목록을 정렬하려는 서버 측 스크립트는 ">" 기호 대신 "<" 기호를 사용하여 값을 비교하는 경우 잘못된 정렬 결과를 반환합니다.
오류 디버깅 기술 오류의 원인을 찾고 애플리케이션을 테스트하는 데 다양한 디버깅 기술을 사용할 수 있습니다.
JIT(Just-In-Time) 디버깅 런타임 오류로 인해 ASP 스크립트 실행이 중단되면 Microsoft 스크립트 디버거가 자동으로 시작되어 .asp 파일을 표시하고 오류가 발생한 줄에 명령문 포인터를 가리키며 다음을 생성합니다. 오류 메시지. 이러한 유형의 디버깅을 JIT(Just-In-Time) 디버깅이라고 하며, 컴퓨터가 프로그램 실행을 일시 중지합니다. 이러한 오류를 수정하려면 편집 프로그램을 사용하고 수정 사항을 저장한 다음 스크립트를 다시 실행해야 합니다.
중단점 디버깅 오류가 발생하여 오류의 원인을 찾기 어려운 경우 미리 설정된 중단점 디버깅 방법을 사용할 수 있습니다. 중단점은 특정 줄에서 스크립트를 일시 중지합니다. 스크립트의 문제가 있는 지점에 하나 이상의 서로 다른 중단점을 설정한 다음 디버거를 사용하여 스크립트에 설정된 변수 또는 속성의 값을 수정할 수 있습니다. 이러한 오류를 수정한 후 스크립트가 중단 없이 실행되도록 중단점을 지울 수 있습니다.
Microsoft 스크립트 디버거를 사용하여 스크립트를 열고 중단점을 설정하세요. 그런 다음 웹 브라우저에서 이 스크립트를 요청하십시오. 스크립트에 중단점이 포함된 줄이 실행되면 컴퓨터는 스크립트 디버거를 시작하고 명령문 포인터는 중단점이 설정된 줄을 가리킵니다.
VBScript Stop 문 디버거 서버측 스크립트의 문제가 있는 부분 앞에 Stop 문을 삽입하여 VBScript로 작성된 서버측 스크립트에 중단점을 추가할 수도 있습니다. 예를 들어, 다음 ASP 스크립트에는 결과를 표시하기 전에 실행을 일시 중지하는 Stop 문이 포함되어 있습니다.
<%
일값 = 3
TheDay = WeekDayName(일값)
여기서 중단점 설정을 중지하세요.
Response.Write("오늘은 " + TheDay)
%>
웹 브라우저에서 사용되는 이전 스크립트를 요청하면 디버거가 시작되고 자동으로 .asp 파일이 표시되며 명령문 포인터는 stop 문의 위치를 나타냅니다. 제공된 .asp 파일에서 Stop 문을 제거하는 것을 항상 기억하십시오.
JScript 디버거 문으로 디버깅 Microsoft® JScript로 작성된 서버 측 스크립트에 중단점을 추가하려면 해당 줄 앞에 디버거 문을 삽입하세요. 예를 들어, 다음 스크립트에는 실행을 중단하고 스크립트가 새 값으로 반복될 때마다 자동으로 Microsoft 스크립트 디버거를 시작하는 디버거 문이 포함되어 있습니다.
<%@ 언어="JScript" %>
<%
for (var 개수 = 1; 개수 <= 10; 개수++) {
var 이벤트 테스트 = 개수%2;
디버거 //중단점 설정
if (이벤트 테스트 == 0) {
response.write("짝수 값은 " + count + "<br>")
}
}
%>
제공된 .asp 파일에서 디버거 문을 제거해야 합니다.
참고: 디버거 문과 JScript break 문을 혼동하지 마십시오. 프로그램 실행 중에 break 문은 현재 루프만 종료하고 Microsoft Script Debugger를 활성화하거나 프로그램 실행을 일시 중지하지 않습니다.
스크립트 디버깅 기술 스크립트 디버거 외에도 좋은 디버깅 기술 세트를 사용하면 스크립트 오류의 원인을 분석하는 데 소요되는 시간을 많이 줄일 수 있습니다. 대부분의 오류는 명백한 원인, 철자가 틀린 명령 또는 변수 누락으로 인해 발생하지만 일부 유형의 논리 및 실행 오류는 덜 명확한 원인으로 인해 발생할 수도 있습니다.