page open debugger debug javascript firebug breakpoints hit script-debugging

javascript - open - debugger mozilla firefox



Firebug-Breakpoint no pega (11)

Estoy configurando puntos de interrupción en un archivo JS externo y no he podido hacer que Firebug llegue al punto de interrupción de manera consistente. A veces funciona, pero la mayoría de las veces no funciona. La única forma en que puedo hacer que funcione es activando "Romper todos los errores"

He usado el depurador; declaración también sin suerte.


¿Firebug muestra el código en la pestaña Script con números de línea verde? Esto indica líneas de código depurables.

He experimentado este síntoma en el que ninguno de los números de línea era verde a veces. Actualizo la página y, por arte de magia, vuelven a ser verdes.


¿La pestaña ''Consola'' en Firebug muestra errores para cualquiera de tus otros JavaScript? Descubrí que si existen errores de JavaScript para el código antes de un punto de interrupción de depuración, entonces nunca llegará a esa línea de código hasta que se solucionen los elementos rotos anteriores.


Estaba teniendo este problema intermitentemente también. Seleccioné "deshabilitar todos los puntos de interrupción" y "habilitar todos los puntos de interrupción" de los puntos de interrupción desplegables y comenzó a funcionar.


He experimentado este problema al intentar depurar páginas dentro de marcos usando Firebug 1.4. Al seleccionar "Mostrar solo este marco" o "Abrir marco en una pestaña nueva" en el menú contextual "Este marco", al actualizar la página parece que los scripts se puedan depurar.


Mismo problema con FF 36 y FB 2.0.8: sin errores en la consola, el código funciona bien, pero FB muestra HTML en lugar de JS, se detiene en el punto de interrupción del debugger pero lo muestra en alguna línea HTML aleatoria, no se detiene en los puntos de interrupción normales .

Lo resolví extrayendo JS de la página y moviéndolo a su propio archivo JS.

Pero había una trampa: cuando el script residía en su propio archivo JS, no podía conseguir que las variables "globales" funcionaran en FF (funcionaba bien en IE, independientemente de dónde estuviese el código), incluso usando la sintaxis de window.varName . Así que terminé depurando en FB de un archivo separado, pero revertí a en línea para producción.


Para mí funcionó después de eliminar todas las llamadas a document.write() .


Pasé 1 hora en esto.

Tenía una etiqueta <script> como esta:

<!-- jQuery Validate --> <script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.10.0/jquery.validate.min.js" type="text/javascript">

¿Puedes detectar el problema?

Bueno, me tomó todo ese tiempo detectarlo. Falta / para cerrar la etiqueta <script> .

<!-- jQuery Validate --> <script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.10.0/jquery.validate.min.js" type="text/javascript" />

Esto es seguro debido a algunos copiar / pegar y luego tratar de cambiar el código ... ¡Acabo de jugar al tonto en este caso! :)

Después de agregar el / yo pude obtener los puntos de interrupción trabajando en Firebug. Que tiene sentido.

Finalmente puedo ver esos benditos números verdes.


Si los números de línea no son verdes, parece que Firebug no puede depurar esa parte del código porque está fuera del alcance. Entonces, si está usando algo como $ (function () {...}); Firebug no podrá acceder a las Funciones y variables.

¿Tiene sentido?

Además, ¿es posible que alguna otra función o algo anule el que está intentando depurar? Incluso es posible si incluye el mismo archivo JS dos veces.

Espero que ayude.


Solo para agregar otra posibilidad a los mencionados.

Esto ocurrió cuando estaba bajo presión para arreglar algo en producción, naturalmente.

Inadvertidamente introduje un error de sintaxis:

function: myFunc(){} // function body }

Así. Al comienzo del registro de la consola había un error, pero no lo noté. Seguí intentando depurar ese archivo, pero Firebug no entró en él.

Entonces, si esto le sucede a usted: verifique la consola, tal vez haya un error de sintaxis que provoque un cortocircuito en la carga del archivo.


También estoy teniendo este problema muy a menudo. Descubrí que la reapertura de la pestaña parece ayudar (los puntos de corte no se pierden). Pero "Romper todos los errores" parece ser la forma más confiable de romper.

Rara vez tengo que hacer algo bueno sobre IE, pero en este caso lo hace bien. La depuración de JavaScript en VS solo funciona. Golpea puntos de interrupción ("depurador") sin problemas y detiene la ejecución de todos los demás códigos JavaScript de la página. Así que lo uso como una copia de seguridad con bastante frecuencia.


También tuve este problema. Quizás relacionado con la respuesta de KIT-Inwi ... Pero estaba generando líneas aleatorias usando PHP con cada carga de página.

Firebug parece recordar el número de línea de toda la página HTML para poner el punto de interrupción, no necesariamente la línea del Javascript, lo que significa que el número de línea al que pones el punto de interrupción en esta carga de página no será necesariamente la misma línea de código la próxima vez que lo cargue, por lo que el punto de interrupción aparecerá para "saltar".

No estoy seguro de cómo lo resolvería con contenido dinámico que cambia cada vez, pero lo solucioné eliminando las líneas aleatorias para que la línea con el punto de interrupción fuera la misma en cada carga de página.