고수에게서 전수받은 자바스크립트 디버깅 코드

며칠 전에 어떤 고수님으로부터 자바스크립트를 디버깅 ( debugging javascript ) 하는 코드가 입수 되었다.
첨엔 내 수준에 걸맞지 않는 것이라 생각되어 별 신경 쓰지 않고 있었는데 아주 기초적인 실수들을 걸러 주는데에 유용한 것같아서 공유를 위해서 여기 공개한다.

<script>
var isDebugging = true;
function ErrorSetting(msg, file_loc, line_no) {
   //var e_msg=msg; <--실수인것 같다.불 필요한 것이라 주석처리한다. 
   //var e_file=file_loc;<--실수인것 같다.불 필요한 것이라 주석처리한다. 
   //var e_line=line_no;<--실수인것 같다.불 필요한 것이라 주석처리한다. 
   var error_d = "Error in file: " + file_loc + "nline number:" + line_no + "nMessage:" + msg;
   if(isDebugging) alert("Error Found !!!n--------------n"+error_d);
   return true; 
}
 window.onerror = ErrorSetting; 
</script>

위의 코드를 페이지의 맨 아래 쪽에 카피해서 붙여 넣는 것 만으로 끝.

이 상태에서 코딩하고 실행 하면 윗 부분에 서 에러가 발생했을때

아래와 같은 에러창이 뜬다.

debugger_result
debugger_result

 

하지만 주의할 것이 있다.

에러 위치를 알려주는 ‘line number’ 는 실제와는 잘 맞지 않는다는 점이다. 이는 코드 내에 조건문이 달린 php와 script가 혼재되어있기 때문에 브라우저 로서는 그 실행된 조건문 상태에서의 라인 수 만을 카운트 할수밖에 없기 때문이라고 여겨 진다.

만일 워드프레스 플렛폼이라면 위 코드를  if(WP_DEBUG) { }  조건문 하에서만 실행하데 바꾸어 주는 것도 편리하다.

아래와 같이…^^

 

if(WP_DEBUG){?>; CODE HERE <?php; }

 

소셜댓글

Loading Disqus Comments ...

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.