IE7에서 JavaScript 디버깅


160

Internet Explorer 7에서 JavaScript를 디버깅해야합니다.

불행히도 기본 디버거는 많은 정보를 제공하지 않습니다. 오류가 표시된 페이지 (특정 스크립트가 아님)를 알려주고 줄 번호를 제공합니다. 그것이 내 문제와 관련이 있는지 모르겠습니다.

Firebug와 같이 특정 스크립트의 줄 번호로 오류를 좁힐 수 있다면 좋을 것입니다.

Firefox에서 Firebug와 같이 IE7에서 JavaScript를 디버깅하는 애드온이 있습니까?

감사합니다!

또한보십시오:

IE7에 "개발자 모드"또는 Firefox / Chrome / Safari와 같은 플러그인이 있습니까?

답변:


90

웹 개발 도우미 는 매우 좋습니다.

IE 개발자 도구 모음은 스크립트 디버깅을하지 않습니다 불행히도 종종 도움이되지만


4
아마도 고급 옵션에서 "디버깅 비활성화"를 해제해야한다는 점에 주목할 필요가 있습니다.
Dan Rosenstark

24
IE Dev Toolbar에 스크립트 디버깅 옵션이 표시되지 않으며 고급 환경 설정을 변경하고 IE7을 다시 시작한 후에도 최신 버전의 Web Development Helper가 작동하지 않습니다.
stevebot

9
위에 제공된 웹 개발 헬퍼 링크가 작동하지 않습니다. 누구나이 도구가 여기에서 호스팅 된 것과 동일한 도구인지 확인할 수 있습니까? softpedia.com/get/Tweak/Browser-Tweak/…
RMorrisey

3
아이러니 IE7에서 Web Dev Helper 용 softpedia 다운로드 링크가 종료됩니다! (두려운 "작업 중단"오류)
Sean McMillan

1
링크가 악성 코드로 연결되는 것 같습니다.
나무

41

어려운 사실은 IE의 유일한 좋은 디버거는 Visual Studio입니다.

실제 거래 비용이없는 경우 무료 Visual Web Developer 2008 Express Edition Visual Web Developer 2010 Express Edition을 다운로드하십시오 . 전자는 이미 실행중인 IE에 디버거를 연결할 수 있지만 후자는 그렇지 않습니다 (적어도 이전 버전에서는 허용하지 않았습니다). 이 경우에도 트릭은 하나의 빈 웹 페이지로 간단한 프로젝트를 작성하고 "실행"하여 (브라우저를 시작 함) 이제 디버깅하려는 페이지로 이동 한 후 디버깅을 시작하는 것입니다.

Microsoft는 일반적으로 라이센스 제한이있는 다양한 이벤트에 대해 전체 Visual Studio를 제공하지만 집에서는 어설프게 허용합니다. 일정과 공짜 목록을 확인하십시오.

또 다른 힌트 : 먼저 다른 브라우저로 웹 응용 프로그램을 디버깅하십시오. 나는 오페라와 함께 큰 성공을 거두었습니다. 어쨌든 Opera의 IE 에뮬레이션과 버그는 거의 비슷했지만 디버거가 훨씬 좋습니다.


2
단계별 지침은 @mitjak의 답변
rymo

4
VS는 유일하게 좋은 디버거가 아니지만 좋은 것은 많지 않다는 데 동의합니다. 그것은 무료 아니에요하지만 이것은 내가 몇 년 동안 사용하고 하나의 IE 전용의 자바 스크립트 디버거이다 javascript-debugger.com

VS 2008에 대한 링크가 사라졌습니다. 이제 VS 2012 페이지로 이동합니다.
Sean McMillan

VS 2012 Express Edition은 여전히 ​​무료입니다 (이전 링크는 실제로 가리킴).
유진 Lazutkin

1
VS2012 Express에는 Windows 7이 필요합니다. IE7을 디버깅하려는 경우에는 도움이되지 않습니다. VS2010 Web Express가 필요합니다 : microsoft.com/web/gallery/…
Mike Post

32

당신은 마이크로 소프트 스크립트 디버거 를 시도 할 수 있습니다 꽤 오래된 있지만 자바 스크립트 오류가 발생하면 디버거가 팝업되어 어떤 라인이 엉망인지 보여줍니다. 정상적인 서핑을 할 때 때때로 자극을 줄 수 있지만 끄면 끌 수 있습니다.

이 도구를 사용하는 방법에 대한 좋은 시작이 있습니다. 방법 : Internet Explorer에서 JavaScript 디버깅


하우투 링크가 끊어졌습니다. 업데이트 된 링크는 다음과 같습니다. jonathanboutelle.com/2006/01/16/…
Dana

타사 소프트웨어를 설치할 필요없이 마찰이 적은 디버깅 경로.
Jon Hadley

27

DebugBar를 찾았 습니다 .

Firebug만큼 좋지는 않지만 가깝습니다.


3
여전히, 도구 모음보다 더 나은 방법
Sam Saffron

2
이것이 왜 받아 들여지지 않는지 모르겠습니다. IE의 다른 디버거보다 훨씬 낫습니다.
Tres

1
실제로 사이트에서 언급 한 무료 " Companion JS "가 가장 효과적 이라는 것을 알았습니다 . 오류가 발생하는 JS 파일 및 줄 번호를 정확하게 알려줍니다.
Tyler

25

IE7에서는 주소 표시 줄에 다음을 붙여서 현재 페이지에 firebug lite를 불러올 수 있습니다.

javascript:var firebug=document.createElement('script');firebug.setAttribute('src','http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js');document.body.appendChild(firebug);(function(){if(window.firebug.version){firebug.init();}else{setTimeout(arguments.callee);}})();void(firebug);

http://getfirebug.com/lite.html을 참조하십시오 .


6
Firebug Lite는 Javascript를 수행하지 않습니다
Casebash

콘솔을 사용하여 FireBug 라이트에서 콘솔을 중지했습니다.
Eugene Gluhotorenko

여기에는 JavaScript를 실행하는 콘솔이 있습니다.
Alex W

IE 7의 요소를 검사하는 데 매우 유용합니다. 감사합니다! :)
Leniel Maccaferri

7

Microsoft Script Editor는 실제로 옵션이며, 더 안정적인 것 중 하나를 시도한 것 중 하나입니다 .IE8의 디버거는 훌륭하지만 어떤 이유로 개발자 도구를 시작할 때마다 IE8이 필요합니다. 분, 내 페이지의 DOM 트리를 검사하십시오. 그리고 나서 그것은 고문 인 모든 페이지 새로 고침에서 그것을하고 싶어하는 것 같습니다.

Microsoft 스크립트 편집기에서 변수의 내용을 검사 할 수 있습니다 . 디버그> 창에서 펑크하면 로컬 변수 검사, 감시 등을 켤 수 있습니다.

다른 옵션 인 Visual Web Dev는 부피가 크지 만 합리적으로 잘 작동합니다. 설정하려면 다음을 수행하십시오 ( 여기 에서 도난 ).

  1. IE에서 디버깅을 켜야합니다. 도구> 인터넷 옵션> 고급으로 이동하여 스크립트 디버깅 사용 안함 (Internet Explorer) 이 선택되어 있지 않은지 확인하고 모든 스크립트 오류에 대한 알림 표시 있는지 확인하십시오.
  2. VWD 내부에 새로운 빈 웹 프로젝트 생성
  3. 오른쪽 상단의 솔루션 탐색기에서 사이트를 마우스 오른쪽 단추로 클릭하고 찾아보기로 이동하여 기본 브라우저가 IE로 설정되어 있는지 확인하십시오 (웹 개발자 인 경우 IE가 기본 브라우저 가 아닌 것으로 가정하는 것이 합리적입니다) 기본이 아닙니다 .. 기본적으로)
  4. F5를 누르면 IE가 열립니다. 디버깅하려는 페이지로 이동하십시오.
  5. 스크립트 오류가 발생하거나 JS 파일 중 하나에 중단 점을 설정하면 VWD가 열립니다. 디버그!

업데이트 : 그런데 IE8의 다른 적절한 디버거로 나와 같은 속도 저하가 발생하면 해결 방법이 있습니다. 예를 누르면 디버거가 거의 즉시 나타납니다. 디버깅 모드로 "직접"이동하면 개발자 도구가 DOM을 검사하지 않는 것 같습니다. F12를 눌렀을 때만 가능합니다.


나는 이것을 좀 더 테스트해야하지만 호환성 모드에서 탐색 할 때 IE8 디버거가 더 빨리 작동하는 것처럼 보입니다. 그림을 이동!
dmkc 2016 년

1
VWD의 Express (무료) 버전을 사용하는 경우 4 단계 전에 모든 IE 창을 닫았는지 확인하십시오. VWD는 IE를 새로 시작하여 "소유"해야합니다.
rymo

3

IE8은 훨씬 향상된 개발자 도구를 제공합니다. 그때까지는 firefox 용 자바 스크립트를 먼저 작성한 다음 alert () 문을 사용하여 IE를 디버깅하는 것이 가장 좋습니다.


IE8을 기다릴 수 없다 (광고가 끝날 때까지 – 베타 버전을 아직 다운로드하지 않았 음)
alex

이제 나왔으니, 나는 방화범보다 디버거를 더 좋아한다고 말해야합니다 :)
Joel Coehoorn

@Joel, 디버거는 훌륭하지만, 나를 화나게하는 것 중 하나는 "요소 검사"를 선택할 수있는 오른쪽 클릭 컨텍스트 메뉴입니다. 내 지식으로는 IE8에서는 개발자 도구를 시작한 다음 화살표를 클릭 한 다음 검사하려는 요소를 찾아야합니다.
alex

3

Microsoft Script Editor를 사용하여 IE에서 Javascript를 디버깅 할 수 있습니다. Microsoft Script Debugger보다 버그가 적지 만 동일한 기본 기능을 가지고 있습니다. 불행히도 실행 단계별로 제한됩니다. 변수 나 그와 같은 편리한 것들을 검사 할 수없는 것 같습니다. 또한 기괴한 이유로 Office XP / 2003에만 제공되었습니다. 게임이라면 여기에 더 많은 정보가 있습니다 .

Eugene Lazutkin이 언급 한 Visual Web Developer 2008 Express Edition을 다운로드했지만 아직 시도 할 기회는 없었습니다. Script Editor / Debugger 전에 시도해 보는 것이 좋습니다.


3

그것은 완전한 디버거는 아니지만 DP_DEBUG 확장은 유용한 기능을 제공하며 IE, Firefox 및 Opera (9+)에서 작동합니다.

복잡한 JavaScript 객체 (시스템 객체 포함)를 시각적으로 "덤프"하고 로깅 및 타이밍을 간소화 할 수 있습니다. 구성 요소는 원하는 경우 프로덕션 작업을 위해 디버거를 그대로 둘 수 있도록 구성 요소를 활성화하거나 비활성화하는 간단한 방법을 제공합니다.

DP_Debug


2

IE9 개발자 도구가 저에게 효과적이었습니다. "브라우저 모드"메뉴 항목을 IE7로 설정하십시오.


7
이것은 유용하지만 에뮬레이트 된 IE7은 완전히 다릅니다.
alex

나는 그것이 달려 있다고 생각합니다. IE9의 에뮬레이트 모드에서 문제를 재현 할 수 있으면 거기서 해결하겠습니다. 그렇지 않으면 Firebug Lite가 좋은 솔루션입니다. 그러나 IE7을 어딘가에 설치해야합니다.
Peter Tseng

1

이봐, 난 같은 문제가 발생하여 응용 프로그램을 찾았습니다. IETESTER를 찾았습니다 . IE 5.5, 6 및 7이 번들로 제공되는 앱입니다. 현재 가지고있는 IE 버전은 중요하지 않습니다. 이를 통해 여러 버전을 나란히 가질 수 있습니다.

IE 옵션에서 자바 스크립트 디버깅을 활성화하고 Visual Studio를 설치 한 경우 사용 가능한 모든 디버그 옵션 (시계, 조건부 중단 점 등)을 사용하여 VS에서 자바 스크립트를 디버깅 할 수도 있습니다.

오류가 발생하기 전에 디버깅을 시작하려면 간단히 라인을 넣어야합니다.

debugger;

JS 코드에 삽입하면이 문 후에 디버깅을 시작하기 위해 VS로 가져옵니다.

이것은 JS 코드의 이전 버전과의 호환성을 테스트하는 데 정말 놀랍습니다.


0

Internet Explorer 8을 사용하십시오. 그런 다음 개발자 도구를 사용해보십시오. 호환성 모드에서도 IE 7을 기반으로 디버깅 할 수 있습니다.


17
IE7! = IE8 호환 모드. 비 호환성이 있습니다.
thorn̈

1
+1 적어도 IE8은 오류를 일으키는 스크립트의 파일 이름을 알려줍니다.
Sponsz 대령

@thorn이지만 IE7 모드가 있습니다. (이전에 없었던 것일까?) 따라서 : 일반, 호환 모드, IE7 모드.
ANeves

1
@ANeves 그것은 같은 것에 대한 단지 다른 이름입니다
thorn̈

4
@ANeves "IE7 모드"는 사용자 에이전트가 IE7에서 사용되는 에이전트로 변경된 "호환 모드"입니다. 그러나 호환성 모드가 호환되지 않는다는 것을 다시 강조하고 싶습니다. 예를 들어, jQuery를 통해 스타일 속성을 재설정하면 IE7 및 기타 브라우저에서 다음과 같이 보입니다 $my.css('z-index', null). IE8에서이 코드는 소위 호환 모드에서도 오류를 발생시킵니다. 따라서 다음과 같은 코드를 작성해야했습니다.$my.css('z-index', ie8 ? 'auto' : null)
thorn̈


0

대답은 간단합니다.

  1. Internet Explorer 9 다운로드
  2. F12를 눌러 개발자 도구를로드하십시오.
  3. 브라우저 모드를 IE7로 전환

IE9에서 브라우저 모드 전환


6
신뢰할 수 없기 때문에 : (IE7에 연결된 현재 프로젝트의 모든 열린 티켓은 Windows 7 Vista에서 재현 할 수 없습니다
AlfeG

4
오류가 재현 가능한 경우 도움이 될 수 있습니다. 그러나 IE7 모드의 IE9에서는 발생하지 않지만 원래의 IE7에서는 발생하는 오류가 있습니다 (IE8과 동일)
yunzen

0

JSLint 와 같은 Javascript 정적 분석 도구를 통해 코드를 실행하면 객체 정의의 후행 쉼표와 같은 일반적인 IE7 오류가 발생할 수 있습니다.


0

IE8 개발자 도구는 IE7 모드로 전환 할 수 있습니다여기에 이미지 설명을 입력하십시오


0

여전히 IE 7을 디버깅해야하는 경우 IE 11의 에뮬레이션 모드가 제대로 작동합니다.

메뉴 : 개발 도구로 이동 한 다음 에뮬레이션 및 설정으로 이동하십시오. 오류 라인 정보도 제공합니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.