31 lines
1.9 KiB
Markdown

# Débogage du JS côté client
{{#include ../../banners/hacktricks-training.md}}
Déboguer le JS côté client peut être pénible car chaque fois que vous changez l'URL (y compris un changement dans les paramètres utilisés ou les valeurs des paramètres), vous devez **réinitialiser le point d'arrêt et recharger la page**.
### `debugger;`
Si vous placez la ligne `debugger;` à l'intérieur d'un fichier JS, lorsque le **navigateur** exécute le JS, il **s'arrêtera** au **débogueur** à cet endroit. Par conséquent, une façon de définir des points d'arrêt constants serait de **télécharger tous les fichiers localement et de définir des points d'arrêt dans le code JS**.
### Remplacements
Les remplacements de navigateur permettent d'avoir une copie locale du code qui va être exécuté et d'exécuter celle-ci au lieu de celle du serveur distant.\
Vous pouvez **accéder aux remplacements** dans "Dev Tools" --> "Sources" --> "Overrides".
Vous devez **créer un dossier local vide à utiliser pour stocker les remplacements**, donc créez simplement un nouveau dossier local et définissez-le comme remplacement sur cette page.
Ensuite, dans "Dev Tools" --> "Sources", **sélectionnez le fichier** que vous souhaitez remplacer et avec **un clic droit, sélectionnez "Save for overrides"**.
![](<../../images/image (742).png>)
Cela va **copier le fichier JS localement** et vous pourrez **modifier cette copie dans le navigateur**. Ajoutez simplement la commande **`debugger;`** où vous le souhaitez, **enregistrez** le changement et **rechargez** la page, et chaque fois que vous accédez à cette page web, **votre copie JS locale va être chargée** et votre commande de débogage maintenue à sa place :
![](<../../images/image (594).png>)
## Références
- [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}}