2011-09-09 16 views
54

Chciałbym ustawić punkt przerwania w funkcji "Cart.add" w debuggerze Chrome lub Safari JavaScript. Problem polega na tym, że funkcja ta jest zdefiniowana w dużym, zminimalizowanym pliku JS i sama nie istnieje w linii.Jak ustawić punkt przerwania na minowanej funkcji JS w przeglądarce Chrome lub Safari?

Niektóre dokumenty mówią, że debugery oparte na WebKit obsługują polecenia "break" lub "debug" w konsoli debugowania, ale nie działają one w nowszych wersjach debuggera.

Ustawienie punktu przerwania na tej linii pliku JS również nie działa, ponieważ istnieje wiele funkcji w tym wierszu.

Wszelkie sugestie?

+0

Czy możesz unminić javascript i zrobić to jeszcze raz? http://stackoverflow.com/questions/822119/online-tool- to-unminify-decompress-javascript – Rikon

Odpowiedz

4

Prawdopodobnie to, czego szukasz, to debugger statement.

Ocenianie DebuggerStatement produkcję na może umożliwić realizację spowodować przerwania kiedy pracował w debugger. Jeśli debugger nie jest obecny lub aktywny, to instrukcja nie ma zauważalnego efektu.

Produkcja DebuggerStatement: debugger ; oceniana jest następująco:

  1. Jeśli implementacja zdefiniowany obiekt debugowanie jest dostępna i włączona,

    a. Wykonaj określoną akcję debugowania implementacji.

    b. Niech wynikiem będzie zdefiniowana implementacja Wartość ukończenia.

  2. Else

    a. Niech wynik będzie (normalny, pusty, pusty).

  3. Wynik zwrotu.

Oświadczenie break jest dla opuszczających pętli i switch sprawozdania i nie ma nic wspólnego z debugowania.

Prawdziwym rozwiązaniem jest jednak, aby nie bugger kodu w pierwszej kolejności :)

145

W Chrome po otwarciu Scripts kartę można upiększać wybrany plik, klikając na przycisk { } („Pretty druku”) na dole . Następnie możesz znaleźć swoją linię i ustawić punkt przerwania. Po odświeżeniu strony kod pozostanie w pamięci z punktami przerwania.

+0

Czy to już jest na stabilnym kanale? – Jan

+6

Ta wskazówka jest niesamowita, nie sądzę, bym to wymyślił na własną rękę. – ZenLikeThat

+0

serg .. jesteś legendą – abbood

-1

Jeśli strona została zapisana, upiększ swój plik js za pomocą pliku jsbeautifier.org, który formatuje cały skrypt. Następnie zastąp zawartość js wersją upiększoną. Stąd możesz zdebugować swój JS z łatwością

+0

Należy wziąć pod uwagę, że kiedy mamy do czynienia z minionymi plikami js, zazwyczaj oznacza to, że debugujemy coś w produkcji. W większości przypadków nie masz dostępu do tego środowiska, aby zastąpić skrypt wersją upiększoną, a nawet jeśli to zrobisz, nie powinieneś tego robić. –

Powiązane problemy