33 lines
1.7 KiB
Markdown

# Debugging Client Side JS
## Debugging Client Side JS
{{#include ../../banners/hacktricks-training.md}}
Debugging client side JS može biti mučno jer svaki put kada promenite URL (uključujući promenu u parametrima ili vrednostima parametara) morate **resetovati breakpoint i ponovo učitati stranicu**.
### `debugger;`
Ako stavite liniju `debugger;` unutar JS fajla, kada **pregledač** izvrši JS, on će **stati** na **debugger** na tom mestu. Stoga, jedan način da postavite stalne breakpointe bio bi da **preuzmete sve fajlove lokalno i postavite breakpointe u JS kodu**.
### Overrides
Browser overrides omogućavaju da imate lokalnu kopiju koda koja će biti izvršena umesto one sa udaljenog servera.\
Možete **pristupiti overrides** u "Dev Tools" --> "Sources" --> "Overrides".
Morate **napraviti lokalnu praznu fasciklu koja će se koristiti za čuvanje overrides**, tako da jednostavno kreirate novu lokalnu fasciklu i postavite je kao override na toj stranici.
Zatim, u "Dev Tools" --> "Sources" **izaberite fajl** koji želite da zamenite i sa **desnim klikom izaberite "Save for overrides"**.
![](<../../images/image (742).png>)
Ovo će **kopirati JS fajl lokalno** i moći ćete da **modifikujete tu kopiju u pregledaču**. Tako jednostavno dodajte **`debugger;`** komandu gde god želite, **sačuvajte** promenu i **ponovo učitajte** stranicu, i svaki put kada pristupite toj web stranici **vaša lokalna JS kopija će biti učitana** i vaša debugger komanda će ostati na svom mestu:
![](<../../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}}