# Depuración de JS del lado del cliente
## Depuración de JS del lado del cliente
Aprende hacking en AWS desde cero hasta experto con htARTE (Experto en Red Team de AWS de HackTricks)!
Otras formas de apoyar a HackTricks:
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF**, ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
Depurar JS del lado del cliente puede ser complicado porque cada vez que cambias la URL (incluido un cambio en los parámetros utilizados o los valores de los parámetros) necesitas **restablecer el punto de interrupción y recargar la página**.
### `debugger;`
Si colocas la línea `debugger;` dentro de un archivo JS, cuando el **navegador** ejecuta el JS, se **detendrá** el **depurador** en ese lugar. Por lo tanto, una forma de establecer puntos de interrupción constantes sería **descargar todos los archivos localmente y cambiar los puntos de interrupción en el código JS**.
### Anulaciones
Las anulaciones del navegador permiten tener una copia local del código que se va a ejecutar y ejecutar esa en lugar de la del servidor remoto.\
Puedes **acceder a las anulaciones** en "Herramientas de desarrollo" --> "Fuentes" --> "Anulaciones".
Necesitas **crear una carpeta local vacía para almacenar las anulaciones**, así que simplemente crea una nueva carpeta local y configúrala como anulación en esa página.
Luego, en "Herramientas de desarrollo" --> "Fuentes" **selecciona el archivo** que deseas anular y con **clic derecho selecciona "Guardar para anulaciones"**.
![](<../../.gitbook/assets/image (649).png>)
Esto **copiará el archivo JS localmente** y podrás **modificar esa copia en el navegador**. Simplemente agrega el comando **`debugger;`** donde desees, **guarda** el cambio y **recarga** la página, y cada vez que accedas a esa página web, **se cargará tu copia local de JS** y tu comando de depuración se mantendrá en su lugar:
![](<../../.gitbook/assets/image (648).png>)
## Referencias
* [https://www.youtube.com/watch?v=BW\_-RCo9lo8\&t=1529s](https://www.youtube.com/watch?v=BW\_-RCo9lo8\&t=1529s)
Aprende hacking en AWS desde cero hasta experto con htARTE (Experto en Red Team de AWS de HackTricks)!
Otras formas de apoyar a HackTricks:
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF**, ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).