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.