Quiero forzar al depurador de Chrome a que se rompa en una línea a través del código , o de lo contrario usar algún tipo de etiqueta de comentario como algo así console.break()
.
Quiero forzar al depurador de Chrome a que se rompa en una línea a través del código , o de lo contrario usar algún tipo de etiqueta de comentario como algo así console.break()
.
Respuestas:
Puede usar debugger;
dentro de su código. Si la consola del desarrollador está abierta, la ejecución se interrumpirá. Funciona en firebug también.
setTimeout(function(){debugger;}, 3000);
debugger;
es compatible con todos los principales navegadores. Para más información: w3schools.com/jsref/jsref_debugger.asp
Configure un botón haga clic en escucha y llame al debugger;
Ejemplo
$("#myBtn").click(function() {
debugger;
});
Manifestación
Recursos sobre depuración en JavaScript
También puedes usar debug(function)
, para romper cuandofunction
se llama.
Como otros ya han dicho, debugger;
es el camino a seguir. Escribí un pequeño script que puede usar desde la línea de comandos en un navegador para establecer y eliminar el punto de interrupción justo antes de la llamada a la función:
http://andrijac.github.io/blog/2014/01/31/javascript-breakpoint/
En la pestaña "Scripts", ve a donde está tu código. A la izquierda del número de línea, haga clic en. Esto establecerá un punto de interrupción.
Captura de pantalla:
Entonces podrá rastrear sus puntos de interrupción dentro de la pestaña derecha (como se muestra en la captura de pantalla).
debugger
es una palabra clave reservada por EcmaScript y recibe semántica opcional desde ES5
Como resultado, se puede usar no solo en Chrome, sino también en Firefox y Node.js a través denode debug myscript.js
.
El estándar dice :
Sintaxis
DebuggerStatement : debugger ;
Semántica
La evaluación de la producción de DebuggerStatement puede permitir que una implementación provoque un punto de interrupción cuando se ejecuta bajo un depurador. Si un depurador no está presente o activo, esta declaración no tiene ningún efecto observable.
La producción DebuggerStatement: debugger; se evalúa de la siguiente manera:
- Si una instalación de depuración definida por la implementación está disponible y habilitada, entonces
- Realizar una implementación definida acción de depuración.
- Deje que el resultado sea un valor de finalización definido por la implementación.
- Más
- Deje que el resultado sea (normal, vacío, vacío).
- Devolver resultado.
No hay cambios en ES6.
Es posible y hay muchas razones por las que es posible que desee hacer esto. Por ejemplo, depurar un bucle infinito de JavaScript cerca del inicio de la carga de la página, que impide que el conjunto de herramientas de desarrollador de Chrome (o firebug) se cargue correctamente.
Ver sección 2 de
http://www.laurencegellert.com/2012/05/the-three-ways-of-setting-breakpoints-in-javascript/
o simplemente agregue una línea que contenga la palabra depurador a su código en el punto de prueba requerido.
Punto de interrupción: -
el punto de interrupción dejará de ejecutarse y le permitirá examinar los valores de JavaScript.
Después de examinar los valores, puede reanudar la ejecución del código (generalmente con un botón de reproducción).
Depurador: -
El depurador; detiene la ejecución de JavaScript y llama a la función de depuración.
La declaración del depurador suspende la ejecución, pero no cierra ningún archivo ni borra ninguna variable.
Example:-
function checkBuggyStuff() {
debugger; // do buggy stuff to examine.
};
Puedes configurar debug(functionName)
funciones de depuración.
https://developers.google.com/web/tools/chrome-devtools/javascript/breakpoints#function
Hay muchas formas de depurar el código JavaScript. Los siguientes dos enfoques se usan ampliamente para depurar JavaScript a través del código
Utilizando console.log()
para imprimir los valores en la consola del navegador. (Esto lo ayudará a comprender los valores en ciertos puntos de su código)
Palabra clave del depurador. Agregue debugger;
a las ubicaciones que desea depurar, abra la consola de desarrollador del navegador y navegue a la pestaña de fuentes.
Para obtener más herramientas y formas de depurar el código JavaScript, W3School proporciona este enlace .
No recomendaría debugger;
si solo desea matar y detener el código de JavaScript, ya debugger;
que solo congelará temporalmente su código de JavaScript y no lo detendrá permanentemente.
Si desea matar y detener correctamente el código javascript en su comando, use lo siguiente:
throw new Error("This error message appears because I placed it");
debugger;
o solo has usado puntos de interrupción regulares en la barra de herramientas del desarrollador?