Firebug - zatrzymanie programu gdy obiekt w JS zmieni wartość

Firebug - zatrzymanie programu gdy obiekt w JS zmieni wartość
MI
  • Rejestracja:około 11 lat
  • Ostatnio:około 5 lat
  • Postów:243
0

Używam Firebuga do debugowania Javascriptu i mam pytanie. Mam pewien złożony obiekt który jest tworzony i wewnątrz tego obiektu jest tablica, która na początku jest pusta. Chciałbym zatrzymać program w momencie gdy tablica nie jest już pusta. Czy jest to możliwe w Firebugu? Jeśli tak to jak to zrobić.

Maciej Cąderek
Maciej Cąderek
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Warszawa
  • Postów:1264
1

No to wstaw breakpointa po kodzie uzupełniającym tablicę, jak tablica zapełnia się przy jakimś zdarzeniu to ustaw breakpointa na to zdarzenie.

PS
Przerzuć się na Chrome Dev Tools.

MI
  • Rejestracja:około 11 lat
  • Ostatnio:około 5 lat
  • Postów:243
0
  1. Nie wiem gdzie tablica się uzupełnia. Chciałbym właśnie jakoś ustawić debugger aby przerywał wykonywanie programu w momencie uzupełnienia tablicy.
  2. Dlaczego radzisz mi się przerzucić na Chrome Dev Tools?
Maciej Cąderek
Maciej Cąderek
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Warszawa
  • Postów:1264
1

Możesz opakować sobie obiekt w Proxy, coś w stylu:

Kopiuj
let someObject = {
  arr: [],
};

someObject = new Proxy(someObject, {
  set(target, property, value) {
    if (property === 'arr') debugger;
    target[property] = value;
  },
});

someObject.arr = ['baz']; // to wyłapie set

Czemu Chrome Dev Tools? Bo to chyba najlepiej rozwinięte narzędzie obecnie.

edytowany 2x, ostatnio: Maciej Cąderek
MI
W Chrome nie mogę się przekonać do 2 rzeczy : 1. Nie ma wyszukiwarki plików. W Firebugu wciskasz ctrl+f i wpisujesz nazwę pliku, a chromie trzeba przegladać. Przy setkach plików jest to uciążliwe. 2. Przeglądanie obiektów jest kijowe. W firebugu jest to lepiej zrobione, bo otwiera się nowe okno i lepiej to ogólnie wygląda (lepsza estetyka i kolorowanie składni). A przy dużych rozbudowanych obiektach ma to spore znaczenie wg mnie)
Maciej Cąderek
Maciej Cąderek
Jak wolisz, ale pamiętaj, że mnóstwo dodatkowych narzędzi integruje się często tylko z Dev Tools - React, Redux, Immutable itp. Dodatkowo masz świetny profiler. Co do wyszukiwania plików: Ctrl+P ;)
MI
  • Rejestracja:około 11 lat
  • Ostatnio:około 5 lat
  • Postów:243
0

Dzięki. Nie znałem tych proxy wcześniej. Obczaję to w domu.

Maciej Cąderek
Maciej Cąderek
Proszę bardzo.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.