2011-08-19 12 views
67

Czy istnieje sposób na poinformowanie debuggera Chrome (a może Firebug?), Aby nie złamał niektórych plików? Zakładać, że w zasadzie nie są zepsute? To wydaje się być czymś, co mogą wbudować.Czy mogę powiedzieć debuggerowi w przeglądarce Chrome, aby ignorował plik jquery.js?

+1

byłoby to szczególnie przydatne dla mnie w kontekście wydarzeń jQuery. Kiedy zdarzenie zostanie wywołane, musisz przejść przez wiele crud, aby dowiedzieć się, które procedury obsługi są wywoływane. – tofarr

+0

Wygląda na to, że powinieneś oznaczyć jfriend00 jako odpowiedź. Nie mogłem znaleźć przyczyny tego irytującego zachowania, a jego odpowiedź rozwiązała problem. – OrPaz

+0

@ OrPaz Nie zgadzam się, moim problemem (i moim zrozumieniem problemu Josha) jest to, że debugujemy nasz plik, jednak nie oznacza to, że został zgłoszony wyjątek. Zakładam, że mój kod jest problemem, a nie jQuery, więc nigdy nie chcę debugować jQuery. Myślę o tym, jak w Attache z DebuggerHidden.NET –

Odpowiedz

27

pliki Blackboxing JS jest obecnie możliwe w Firefoksie https://developer.mozilla.org/en-US/docs/Tools/Debugger

A w Chrome Canary pomocą narzędzi Experimental Dev. http://www.divshot.com/blog/tips-and-tricks/ignoring-library-code-while-debugging-in-chrome/

Powyżej działa również stabilna wersja Chrome.

+4

Blackbox nie wydaje się, że debugger pomija plik. Nadal będzie przechodził przez jego wywołania funkcji ... Całkowicie ignorowanie pliku byłoby miłe. –

+2

To jest punkt w blackboxingu - uruchamianie kodu bez wyświetlania jego treści. – diynevala

+1

Nie jest to blackboxing, gdy po prostu nie przechodzisz przez inne biblioteki, a nie, że one nie istnieją lub nie są używane. – johnny

2

Jeśli debugger wieje gdzieś w plikach jQuery, możesz potencjalnie zawinąć podejrzane połączenia w try/catch, a następnie wygenerować błąd we własnym catch. W ten sposób można dokładnie określić, gdzie się źle dzieje.

Byłbym bardziej skłonny do śledzenia stosów, aby zobaczyć, dlaczego mój kod jest wysadzony, np. niepoprawny JSON, niż próbować nad nim połysk.

15

Jeśli masz problem z tym, że debuger Chrome zatrzymuje się we wszystkich wyjątkach, nawet w jQuery, może być konieczne, aby Chrome wstrzymywał tylko niezatrzymane wyjątki, a nie wszystkie wyjątki. W panelu skryptu w debugerze znajduje się ikona w lewym dolnym rogu okna, które to kontroluje.

+0

Uratowałeś mnie z tym! Dzięki! (+ 1) – OrPaz

16

Najnowsza wersja Chrome wprowadziła nowy blackbox feature, który spełnia dokładnie to, czego szukasz. Zasadniczo, po ustawieniu opcji blackbox na danym pliku, uniemożliwi to włamanie się do tego pliku.

Ta funkcja jest wbudowana i można ją ustawić za pomocą menu kontekstowego pliku (prawy przycisk myszy). Będzie też działać, jeśli debugger Chrome jest ustawiony na zatrzymywanie we wszystkich wyjątkach.

+1

Bardzo czyste rozwiązanie Brak koniecznych wtyczek. –

+2

Niestety nie działa. Jeśli masz zaznaczone pole wyboru "Wstrzymaj przy wykrytych wyjątkach", a następnie jboxbox blackbox, nadal będzie on działał z wyjątkami. – blackmamba

3
  1. Przejdź do ustawień narzędzi programistycznych i kliknij kartę Balckboxing na lewym panelu.
  2. Następnie kliknij przycisk Dodaj wzór i wpisz jquery.js
  3. Zamknij i ponownie otwórz narzędzia dla programistów, teraz jest pomijany!
3

W Chrome otwarte Developer Tools, a następnie goto Ustawienia, a następnie pojawi się Blackboksa kartę:

Chrome Blackbox

w Firefox jeszcze łatwiej, wystarczy kliknąć Oko na dole plik:

FireFox Blackbox

Powiązane problemy