punto online interrupcion extension depurar debugger debug consola chrome javascript debugging google-chrome breakpoints

online - javascript console chrome



Depuración JavaScript de Chrome: cómo guardar puntos de interrupción entre la actualización de la página o el corte a través del código. (8)

¿Esto probablemente está sucediendo con los scripts que está cargando o evaluando dinámicamente desde otros scripts? Puedo decir por mí mismo que este escenario realmente me irritó hasta que descubrí la propiedad sourceURL. Si coloca el siguiente comentario con formato especial en la última línea del script que desea depurar lo "anclará" dentro de Chrome para que tenga un marco de referencia para él:

// # sourceURL = filename.js

¡Sus puntos de interrupción colocados manualmente ahora persistirán entre cargas de página! La convención en realidad se originó a partir de la especificación del mapa de origen, pero Chrome por lo menos la honra como una técnica independiente. Aquí hay una reference .

Cuando uso Chrome y su depurador de JavaScript, cada vez que recargo mi página / scripts, pierdo mis puntos de ruptura y tengo que buscar el archivo de script en la ventana emergente, encontrar la línea de código para mi punto de ruptura, hacer clic para agregarlo , etc.

¿Hay alguna manera de guardar estos puntos de corte para que se rompa incluso después de una actualización de página (otros depuradores que he usado hacen esto)?

Alternativamente, ¿hay alguna manera limpia en mi código de JavaScript? Puedo escribir algo para decirle a Chrome que comience a rastrear (para hacer una pausa en una línea).


Además, ¿envía su (s) archivo (s) de JavaScript desde el servidor al cliente con un parámetro de consulta adjunto a la URL con la hora de la Época actual ? Esto se usa para evitar el almacenamiento en caché de los archivos de JavaScript.

Cuando este es el caso, parece que Chrome Developer Tools interpreta que el archivo es diferente después de la actualización, lo que eliminará (correctamente) los puntos de interrupción.

Para mí, eliminar el parámetro de consulta hizo que el CDT mantuviera los puntos de interrupción después de la actualización.


Establezca sus puntos de interrupción, cambie a la pestaña Red y seleccione el botón Preserve Log to Navigation toggle. Ahora los puntos de interrupción deberían estar allí cuando actualice.

O el modo JavaScript es usar

debugger;


Las herramientas para desarrolladores de Chrome deben comportarse de la manera esperada, pero puede poner el debugger; declaraciones en su código (¡desarrollo!) para pausar la ejecución.


Para personas que usan ExtJs 6.x:
en lugar de disableCaching en el Ext.Loader, podría agregar un parámetro de consulta "cache" o "disableCacheBuster" a la URL de la página. Esto eliminará el parámetro "_dc" del archivo y habilitará el depurador de Chrome para persistir en el punto de interrupción.

Vea bootstrap.js en su aplicación (parámetro de configuración disableCaching).


Puedes poner depurador; antes del código donde quieres comenzar a depurar. Una vez que la página comienza a cargarse, se detendría en el depurador; declaración. A continuación, puede aplicar fácilmente el punto de depuración según su requisito.


Puedes poner un

debugger;

para romper en la mayoría de los entornos de JavaScript. Persistirán con seguridad. Es bueno tener un minificador que anule las llamadas al debugger y console.log para el entorno de producción, si los está usando.

En las versiones recientes del navegador Chrome, hay una opción "Conservar registro" en la parte superior del panel de la consola, junto a los filtros. En las versiones anteriores, al hacer clic derecho en la ventana de la consola vacía aparecerá esa opción ("Conservar registro al navegar"). Es útil cuando no tiene instrucciones console.log o llamadas de depuración hard-coded.

actualización: Encontré una herramienta en github, llamada chimney , que toma un archivo y elimina todas las llamadas de console.log. da una buena idea sobre cómo eliminar las llamadas al depurador.


Puedes usar el debugger; declaración en su fuente para hacer que el depurador rompa allí.