2013-06-17 2 views
0

입니다. 나는 JavaScript의 초보자이며, 이제 Javascript를 많이 사용하는 프로젝트가 주어졌습니다.자바에서 메소드 호출을 추적하는 가장 좋은 방법은

Jebber.Ajax.enqueueAction(smsType, true, options, callback); 

내가 자바 잘 알고, 그래서 좀 가져 오기 또는 STH가있을 수 있습니다 가정 다음 JS 파일의 대부분에서는 다음과 같은 형식의 문장을 포함합니다. 파일의 맨 위에 있지만 아무 것도없고 "Jebber"변수에 대한 명시적인 정의가 없습니다. 그래서이 Jebber 변수가 어디서 왔는지 궁금합니다. JavaScript 파일을 편집하기 위해 Eclipse를 사용하고 있습니다. F3은 메소드의 정의를 검색하지 않습니다.

그래서 저는 여기 조금 붙어 있습니다 : 전문가가 변수/함수 등의 정의를 찾기 위해 많은 자바 스크립트 파일을 통해 다이빙하는 좋은 방법을 가르쳐 주시겠습니까? 미리 감사드립니다.

+2

Chrome 개발자 도구> 리소스 탭> 검색 "Jebber"를 선택하면 어떤 .js 파일에 정의가 있는지 알려줍니다. – MrCode

+0

@MrCode : 열린 파일을 통해서만 검색하지 않습니까? – zerkms

+0

@zerkms 포함 된 모든 자바 스크립트 파일과 HTML 내에있는 인라인 자바 스크립트를 모두 검색합니다. Firebug는 Script 탭에서 동일한 기능을 제공합니다. – MrCode

답변

3

당신은 JS Object setters를 사용하는 것을 수행 할 수 있습니다

Object.defineProperty(window, 'Jebber', { 
    set: function() { 
     debugger; 
    }, 
    get: function() {} 
}); 

뭔가가 글로벌 Jebber 변수에 할당 될 때 당신은 JS 디버거에서 휴식을 얻을

(예를 들어 크롬 개발 도구의 하나를 사용) 것

라이브 데모 : http://jsfiddle.net/XtZkJ/

디버거를 열고 스택 트레이스에서 변수가 수정 된 정확한 라인을 가리 킵니다.

+0

'Jebber'가 이미 정의되어 있다면 어떻게 될까요? – Alnitak

+0

IE7 이상에서 작동합니까? – Undefined

+0

@Alnitak : 코드를 디버깅 할 때 - 실행 프로세스의 시작 부분에 무엇이든 넣을 수 있습니다. – zerkms

0

"가져 오기"는 파일 내의 <script> 태그이며 스크립트 파일은 아닙니다.

관련 문제