# Debugging Client Side JS {{#include ../../banners/hacktricks-training.md}} Η αποσφαλμάτωση του JS στον πελάτη μπορεί να είναι δύσκολη, διότι κάθε φορά που αλλάζετε τη διεύθυνση URL (συμπεριλαμβανομένων των αλλαγών στις παραμέτρους ή τις τιμές παραμέτρων) πρέπει να **επαναφέρετε το σημείο διακοπής και να ανανεώσετε τη σελίδα**. ### `debugger;` Αν τοποθετήσετε τη γραμμή `debugger;` μέσα σε ένα αρχείο JS, όταν ο **περιηγητής** εκτελεί το JS θα **σταματήσει** τον **αποσφαλματωτή** σε εκείνο το σημείο. Επομένως, ένας τρόπος για να ορίσετε σταθερά σημεία διακοπής θα ήταν να **κατεβάσετε όλα τα αρχεία τοπικά και να αλλάξετε τα σημεία διακοπής στον κώδικα JS**. ### Overrides Οι παρακάμψεις του περιηγητή επιτρέπουν να έχετε μια τοπική αντίγραφο του κώδικα που πρόκειται να εκτελεστεί και να εκτελέσετε αυτό αντί για αυτό από τον απομακρυσμένο διακομιστή.\ Μπορείτε να **πρόσβαση στις παρακάμψεις** στο "Dev Tools" --> "Sources" --> "Overrides". Πρέπει να **δημιουργήσετε έναν τοπικό κενό φάκελο για να χρησιμοποιηθεί για την αποθήκευση των παρακάμψεων**, οπότε απλά δημιουργήστε έναν νέο τοπικό φάκελο και ορίστε τον ως παράκαμψη σε αυτή τη σελίδα. Στη συνέχεια, στο "Dev Tools" --> "Sources" **επιλέξτε το αρχείο** που θέλετε να παρακάμψετε και με **δεξί κλικ επιλέξτε "Save for overrides"**. ![](<../../images/image (742).png>) Αυτό θα **αντιγράψει το αρχείο JS τοπικά** και θα μπορείτε να **τροποποιήσετε αυτή την αντίγραφο στον περιηγητή**. Έτσι, απλά προσθέστε την εντολή **`debugger;`** όπου θέλετε, **αποθηκεύστε** την αλλαγή και **ανανεώστε** τη σελίδα, και κάθε φορά που αποκτάτε πρόσβαση σε αυτή τη διαδικτυακή σελίδα **η τοπική σας αντίγραφο JS θα φορτωθεί** και η εντολή αποσφαλμάτωσης θα διατηρηθεί στη θέση της: ![](<../../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}}