# Debugging Client Side JS ## Debugging Client Side JS {{#include ../../banners/hacktricks-training.md}} Il debugging del JS lato client può essere complicato perché ogni volta che cambi l'URL (incluso un cambiamento nei parametri utilizzati o nei valori dei parametri) devi **ripristinare il breakpoint e ricaricare la pagina**. ### `debugger;` Se posizioni la riga `debugger;` all'interno di un file JS, quando il **browser** esegue il JS si **fermerà** nel **debugger** in quel punto. Pertanto, un modo per impostare breakpoints costanti sarebbe **scaricare tutti i file localmente e impostare breakpoints nel codice JS**. ### Overrides Le sovrascritture del browser consentono di avere una copia locale del codice che verrà eseguito e di eseguire quella invece di quella del server remoto.\ Puoi **accedere alle sovrascritture** in "Dev Tools" --> "Sources" --> "Overrides". Devi **creare una cartella locale vuota da utilizzare per memorizzare le sovrascritture**, quindi crea semplicemente una nuova cartella locale e impostala come sovrascrittura in quella pagina. Poi, in "Dev Tools" --> "Sources" **seleziona il file** che desideri sovrascrivere e con **clic destro seleziona "Save for overrides"**. ![](<../../images/image (742).png>) Questo **copia il file JS localmente** e sarai in grado di **modificare quella copia nel browser**. Quindi aggiungi semplicemente il comando **`debugger;`** dove vuoi, **salva** la modifica e **ricarica** la pagina, e ogni volta che accedi a quella pagina web **la tua copia locale di JS verrà caricata** e il tuo comando debugger mantenuto al suo posto: ![](<../../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}}