IE7'de JavaScript'te hata ayıklama


160

Internet Explorer 7'de JavaScript hatalarını ayıklamam gerekiyor.

Ne yazık ki, varsayılan hata ayıklayıcısı bana fazla bilgi vermiyor. Bana hatanın göründüğünü (belirli bir komut dosyası değil) ve bir satır numarası verdiğini söylüyor. Bunun sorunumla ilgili olup olmadığını bilmiyorum.

Hatayı belirli bir komut dosyasında (Firebug'un yapabileceği gibi) bir satır numarasına daraltabilmesi hoş olurdu.

Firebug'un Firefox'ta yaptığı gibi IE7'de JavaScript hatalarını ayıklamak için bir eklenti var mı?

Teşekkür ederim!

Ayrıca bakınız:

IE7'de "geliştirici modu" veya Firefox / Chrome / Safari gibi bir eklenti var mı?

Yanıtlar:


90

Web Geliştirme Yardımcısı çok iyi.

IE Dev Araç Çubuğu komut dosyası hata ayıklama yapmaz maalesef çoğu zaman yararlı olmakla birlikte,


4
Belki de dikkat çeken nokta, gelişmiş seçeneklerde "hata ayıklamayı devre dışı bırak" ı kapatmanız gerektiğidir.
Dan Rosenstark

24
IE Dev Araç Çubuğu'nda herhangi bir komut dosyası hata ayıklama seçeneği görmüyorum ve Web Geliştirme Yardımcısı'nın en son sürümü, gelişmiş tercihlerimi değiştirip IE7'yi yeniden başlattıktan sonra bile çalışmıyor.
stevebot

9
Yukarıda verilen Web Geliştirme Yardımcısı bağlantısı geçersizdir. Herkes bunun burada barındırılan araçla aynı olduğunu doğrulayabilir mi? softpedia.com/get/Tweak/Browser-Tweak/…
RMorrisey

3
Ah ironi; Web Dev Helper için softpedia indirme bağlantısı IE7'de öldü! (Korkunç "İşlem İptal Edildi" hatası.)
Sean McMillan

1
Bağlantının kötü amaçlı yazılımlara yol açtığını düşünüyorum.
ağaç

41

Zor gerçek: IE için tek iyi hata ayıklayıcı Visual Studio.

Gerçek anlaşma için paranız yoksa, ücretsiz Visual Web Developer 2008 Express Edition Visual Web Developer 2010 Express Edition'ı indirin . Birincisi, zaten çalışan IE'ye hata ayıklayıcı eklemenize izin verirken, ikincisi bunu yapmaz (en azından kullandığım önceki sürümler buna izin vermedi). Eğer durum hala böyle ise, hile bir boş web sayfası ile basit bir proje oluşturmak, "çalıştırın" (tarayıcıyı başlatır), şimdi hata ayıklamak istediğiniz sayfaya gidin ve hata ayıklamaya başlayın.

Microsoft, tam Visual Studio'yu genellikle lisans kısıtlamaları olan farklı etkinlikler için dağıtır, ancak evde tamir etmeye izin verir. Programlarını ve freebies listesini kontrol edin.

Başka bir ipucu: önce web uygulamanızda diğer tarayıcılarda hata ayıklamaya çalışın. Opera ile büyük bir başarı elde ettim. Bir şekilde Opera'nın IE ve hatalarını öykünmesi oldukça yakındı, ancak hata ayıklayıcı çok daha iyi.


2
adım adım talimatlar için bkz. @ mitjak'ın yanıtı
rymo

4
Çok iyi olanlar olmadığını kabul etmesine rağmen VS IE için tek iyi hata ayıklayıcı değil. Bu, her ne kadar ücretsiz olmasa da, yıllardır kullandığım IE'ye özgü javascript hata ayıklayıcı: javascript-debugger.com

VS 2008 bağlantısı kesildi. Şimdi VS 2012 için bir sayfaya gidiyor.
Sean McMillan

Hala ücretsiz olan VS 2012 Express Edition var (eski bağlantı aslında işaret ediyor).
Eugene Lazutkin

1
VS2012 Express, Windows 7 gerektirir. IE7'de hata ayıklamaya çalışıyorsanız, bu yardımcı olmaz. İhtiyacınız olan şey VS2010 Web Express: microsoft.com/web/gallery/…
Mike Post

32

microsoft script debugger'ı oldukça eski denemek isteyebilirsiniz, ancak herhangi bir javascript hatasına rastlarsanız oldukça yararlıdır, hata ayıklayıcı hangi satırın karıştığını göstermek için açılır. normal sörf yaptığınızda bazen irrating olabilir, ancak kapatabilirsiniz.

İşte bu aracın nasıl kullanılacağına dair iyi bir başlangıç. NASıL YAPıLıR: Internet Explorer'da JavaScript hata ayıklama


Howto bağlantısı koptu. İşte güncellenmiş bir bağlantı: jonathanboutelle.com/2006/01/16/…
Dana

Herhangi bir 3. taraf yazılımı yüklemek zorunda kalmadan mükemmel düşük sürtünmeli hata ayıklama yolu.
Jon Hadley

27

DebugBar'ı buldum .

Firebug kadar iyi değil, ama yakın.


3
yine de, dev araç çubuğundan çok daha iyi
Sam Saffron

2
Bunun neden kabul edilen cevap olmadığını bilmiyorum. IE için diğer herhangi bir hata ayıklayıcı çok daha iyi.
Tres

1
Aslında en iyi çalışmak için kendi sitesinde belirtilen ücretsiz " Companion JS " bulundu . Hatanın hangi JS dosyasında ve satır numarasında olduğunu tam olarak söyler.
Tyler

25

IE7'de, adres çubuğuna aşağıdakileri yapıştırarak geçerli sayfa için kundakçı lite getirebilirsiniz:

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);

Bkz. Http://getfirebug.com/lite.html .


6
Firebug lite Javascript yapmıyor
Casebash

Ben hata ayıklamak için konsolu ile FireBug lite durdu
Eugene Gluhotorenko

Aradığım şey JavaScript çalıştıran bir konsolu var.
Alex W

Gerçekten IE 7 öğeleri incelemek için yararlı. Teşekkürler! :)
Leniel Maccaferri

7

Microsoft Script Editor gerçekten bir seçenektir ve daha kararlı olanlardan birini denedim - IE8'deki hata ayıklayıcı harika, ancak bir nedenden dolayı Geliştirici Araçlarını başlattığımda IE8 biraz zaman alıyor, bazen bir dakika, sayfamın DOM ağacını incelemek için. Daha sonra işkence olan her sayfa yenilemesinde bunu yapmak istiyor gibi görünüyor.

Sen edebilir Microsoft Kod editörü değişkenlerin içeriklerini incelemek: Debug altında etrafında açarsan> yerel değişken muayene açabilirsiniz Pencere, izlerken vs.

Diğer seçenek, Visual Web Dev, hantal iken, oldukça iyi çalışıyor. Ayarlamak için bunu yapın ( buradan çalınır ):

  1. Hata ayıklama IE'de açılmalıdır. Araçlar> Internet Seçenekleri> Gelişmiş gidin ve kontrol devre dışı bırak Senaryo Hata ayıklama (Internet Explorer) işaretlenmemiş olduğundan ve her komut dizisi hatası hakkında bir bildirim görüntüler kontrol edilir
  2. VWD içinde yeni bir boş web projesi oluşturun
  3. Sağ üstteki Çözümler Gezgini'nde siteyi sağ tıklayın, Göz At'a gidin ve varsayılan tarayıcınızın IE olarak ayarlandığından emin olun (bir web geliştiricisi olduğunuzu varsaymak IE bu varsayılan tarayıcınız değildir . bu varsayılan olmayacak .. varsayılan olarak)
  4. F5 tuşuna bastığınızda IE açılır. Hata ayıklamak istediğiniz sayfaya gidin.
  5. VWD, bir komut dosyası hatası olduğunda veya JS dosyalarından birinde bir kesme noktası ayarladığınızda açılacaktır. Hata ayıkla!

GÜNCELLEME : Bu arada, IE8'in başka türlü iyi hata ayıklayıcısında benimle aynı yavaşlamaları yaşıyorsanız, bir geçici çözüm var - IE'de "Hata ayıklamak istiyor musunuz?" İletişim kutusunu açacak şekilde bir hatayla karşılaşırsanız veya Evet, hata ayıklayıcı hemen ortaya çıkacaktır. Görünüşe göre "Düz" hata ayıklama moduna geçerseniz, Dev Araçları DOM'u asla denetlemez. Sadece F12'ye vurduğunuzda.


Bunu biraz daha test etmek zorunda kalacaktım ama şimdiye kadar IE8 hata ayıklayıcısı uyumluluk modunda göz atarken daha hızlı çalışıyor gibi görünüyor. Git şekil!
dmkc

1
VWD'nin Express (ücretsiz) sürümünü kullanıyorsanız, 4. adımdan önce TÜM IE pencerelerini kapattığınızdan emin olun - VWD'nin "sahibi" olması için IE'yi taze başlatmak için tek olması gerekir.
rymo

3

IE8 çok gelişmiş geliştirici araçlarına sahiptir. O zamana kadar, önce firefox için javascript yazmak ve sonra alert () ifadelerini kullanarak IE'de hata ayıklamak en iyisidir.


IE8 için sabırsızlanıyorum (hype kadar yaşadığı sürece - beta'yı henüz indirmedim)
alex

Şimdi dışarı çıktım ve hata ayıklayıcıyı kundakçılarınkinden daha iyi sevdiğimi söylemeliyim :)
Joel Coehoorn

@Joel, hata ayıklayıcı harika olmasına rağmen - beni rahatsız eden bir şey (Firebug'un sahip olduğu), "inceleme öğesi" ni seçebileceğiniz sağ tıklama bağlam menüsüdür. Bildiğim kadarıyla, IE8'de geliştirici araçlarını başlatmanız, ardından oku tıklamanız ve ardından incelemek istediğiniz öğeyi bulmanız gerekiyor.
alex

3

Microsoft Script Editor IE'de Javascript hata ayıklamak için kullanılabilir. Microsoft Script Debugger'dan daha az hatalıdır, ancak maalesef yürütme adımıyla sınırlı olan aynı temel işlevselliğe sahiptir. Değişkenleri veya bunun gibi kullanışlı şeyleri inceleyemiyorum. Ayrıca, yalnızca garip bir nedenle Office XP / 2003 ile birlikte gönderilir. Eğer oyun iseniz burada daha fazla bilgi .

Eugene Lazutkin tarafından bahsedilen Visual Web Developer 2008 Express Edition'ı indirdim ancak henüz deneme şansım olmadı. Bunu Script Editor / Debugger'dan önce denemenizi tavsiye ederim.


3

Tam bir hata ayıklayıcı değil, ancak DP_DEBUG uzantılarım bazı (sanırım) kullanışlı işlevsellik sağlar ve IE, Firefox ve Opera'da çalışır (9+).

Karmaşık JavaScript nesnelerinin (hatta sistem nesneleri) görsel temsillerini "dökebilir", basitleştirilmiş günlüğe kaydetme ve zamanlama yapabilirsiniz. Bileşen, isterseniz hata ayıklayıcıyı üretim çalışması için yerinde bırakabilmeniz için etkinleştirmek veya devre dışı bırakmak için basit yöntemler sağlar.

DP_Debug


2

IE9 geliştirici araçları benim için çalıştı. "Tarayıcı Modu" menü öğesini IE7 olarak ayarlamanız yeterlidir.


7
Bu yararlıdır, ancak benzetilmiş IE7 aynı değildir.
alex

Sanırım buna bağlı. IE9'un benzetim modunda bir sorunu yeniden oluşturabilirsem, o zaman orada düzeltirim. Aksi takdirde, Firebug Lite iyi bir çözümdür - ancak IE7'nin bir yere yüklenmiş olması gerekir.
Peter Tseng

1

Hey ben aynı sorunla karşılaştı ve bu uygulama IETESTER bulundu . Oldukça harika, IE 5.5,6 ve 7 paketlenmiş bir uygulama. Şu anda hangi IE sürümüne sahip olduğunuz önemli değildir. Bu, birden fazla sürümün yan yana olmasını sağlar.

IE seçeneklerinde javascript hata ayıklamayı etkinleştirirseniz ve Visual Studio yüklüyse, javascript'i VS'deki hata ayıklama işlemlerini kullanabileceğiniz tüm hata ayıklama seçenekleriyle (saatler, koşullu kesme noktaları vb.)

Hata oluşmadan hata ayıklamaya başlamak istiyorsanız,

debugger;

JS kodunuza ekleyin ve bu, bu ifadeden sonra hata ayıklamaya başlamak için VS'ye getirir.

JS kodu için geriye dönük uyumluluğu test etmek benim için kesinlikle şaşırtıcı.


0

Internet Explorer 8'i kullanın. Ardından geliştirici aracını deneyin .. IE 7 tabanlı hata ayıklama işlemini uyumluluk modunda da yapabilirsiniz


17
IE7! = IE8 uyumluluk modu. Uyumsuzluklar var.
thorn̈

1
+1 En azından IE8, hataya neden olan komut dosyasının dosya adını söyler.
Albay Sponsz

@thorn, ancak bir IE7 modu var. (Belki daha önce yoktu?) Yani: düzenli, uyumluluk modu, IE7 modu.
ANeves

1
@ANeves aynı şey için sadece farklı isimler
thorn̈

4
@ANeves "IE7 modu", bir kullanıcı aracısı IE7 tarafından kullanılana değiştirilmiş olarak sadece "uyumluluk modu" gibi görünüyor. Ancak, uyumluluk modunun uyumlu olmadığını tekrar vurgulamak istiyorum. Örneğin, jQuery ile bir stil özelliğini Sıfırlanmasını IE7 (ve diğer tarayıcılarda) 'de şöyle görünür: $my.css('z-index', null). IE8'de, bu kod, sözde uyumluluk modunda bile bir hata atar. Bu yüzden şöyle bir kod yazmak zorunda kaldım:$my.css('z-index', ie8 ? 'auto' : null)
thorn̈


0

Cevap basit.

  1. Internet Explorer 9'u edinin
  2. Geliştirici Araçlarını yüklemek için F12 tuşuna basın
  3. Tarayıcı modunu IE7 olarak değiştirin

IE9'da tarayıcı modunu değiştirme


6
Güvenilmez olduğu için :(
IE7'ye

4
Hata yeniden oluşturulabilirse, yardımcı olabilir. Ancak IE9 modunda
IE9'da

0

Kodunuzu JSLint gibi bir Javascript statik analiz aracıyla çalıştırmak, nesne tanımlarındaki son virgüller gibi bazı yaygın IE7 hatalarını yakalayabilir.


0

IE8 Geliştirici Araçları IE7 moduna geçebilirresim açıklamasını buraya girin


0

Hala IE 7'de Hata Ayıklama gerekiyorsa, IE 11'in öykünme modu oldukça iyi çalışıyor.

Şu menüye gidin: Dev Tools, sonra emülasyona ve ayarlayın. Ayrıca hata satırı bilgisi verir.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.