33 lines
1.8 KiB
Markdown

# 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}}