31 lines
1.8 KiB
Markdown

# Debugging Client Side JS
{{#include ../../banners/hacktricks-training.md}}
Debugowanie JS po stronie klienta może być uciążliwe, ponieważ za każdym razem, gdy zmieniasz URL (w tym zmiany w używanych parametrach lub wartościach parametrów), musisz **zresetować punkt przerwania i przeładować stronę**.
### `debugger;`
Jeśli umieścisz linię `debugger;` w pliku JS, gdy **przeglądarka** wykonuje JS, **zatrzyma** **debugger** w tym miejscu. Dlatego jednym ze sposobów na ustawienie stałych punktów przerwania byłoby **pobranie wszystkich plików lokalnie i ustawienie punktów przerwania w kodzie JS**.
### Overrides
Nadpisania w przeglądarce pozwalają na posiadanie lokalnej kopii kodu, który ma być wykonany, i wykonanie tej kopii zamiast tej z zdalnego serwera.\
Możesz **uzyskać dostęp do nadpisania** w "Dev Tools" --> "Sources" --> "Overrides".
Musisz **utworzyć lokalny pusty folder, który będzie używany do przechowywania nadpisania**, więc po prostu utwórz nowy lokalny folder i ustaw go jako nadpisanie na tej stronie.
Następnie, w "Dev Tools" --> "Sources" **wybierz plik**, który chcesz nadpisać, a następnie **kliknij prawym przyciskiem myszy i wybierz "Save for overrides"**.
![](<../../images/image (742).png>)
To **skopiuje plik JS lokalnie** i będziesz mógł **zmodyfikować tę kopię w przeglądarce**. Po prostu dodaj polecenie **`debugger;`** tam, gdzie chcesz, **zapisz** zmiany i **przeładuj** stronę, a za każdym razem, gdy uzyskasz dostęp do tej strony internetowej, **twoja lokalna kopia JS zostanie załadowana** i twoje polecenie debuggera pozostanie na swoim miejscu:
![](<../../images/image (594).png>)
## References
- [https://www.youtube.com/watch?v=BW\_-RCo9lo8\&t=1529s](https://www.youtube.com/watch?v=BW_-RCo9lo8&t=1529s)
{{#include ../../banners/hacktricks-training.md}}