2012-04-25 12 views
34

Las herramientas de desarrollo de IE, más específicamente su depurador de JavaScript, ofrecen un comando "Establecer próxima instrucción", que le permite especificar qué declaración se debe ejecutar a continuación. De esta forma, puede omitir ciertas partes de funciones o incluso (de nuevo, efectivamente) regresar de una función tempranamente.¿Existe la función "Establecer declaración siguiente" en las herramientas de desarrollo de Chrome o en Firebug?

Por lo tanto, para esta función ...

function test() { 
    alert(1); 
    alert(2); 
    alert(3); 
} 

Si fijamos un punto de ruptura en la primera alerta, y luego invocar la función, podemos ejecutar la primera alerta (F10), y luego a la derecha -Haga clic en la tercera alerta y elija "Establecer la siguiente declaración". Ahora, si presionamos F10, se ejecutará la tercera alerta, por lo tanto, efectivamente, se omitió la segunda alerta.

(prueba en IE here: --- herramientas abiertas de IE con F12, cambie a la pestaña "escritura", establecer punto de interrupción, pulse "iniciar la depuración" botón, actualización de la página si es necesario)

Me gusta este "conjunto característica siguiente de la declaración ". Sin embargo, no lo noté en las herramientas de desarrollo de Chrome ni en Firebug. ¿Esta característica existe en esos depuradores?

Respuesta

33

Si bien Chrome DevTools no tiene "Establecer declaración siguiente", puede definir más explícitamente la siguiente declaración simplemente editando el JavaScript mientras está en pausa en el punto de interrupción.

He hecho una breve screencast para que usted muestre Chrome DevTools Live Edit + Breakpoint Debugging.

En esencia: en un punto de interrupción, edite su secuencia de comandos en vivo haciendo clic en el panel de Scripts y realizando cambios. Hit cmd + s para guardar. Luego revise ese código con sus nuevos cambios. Mucho más poderoso que solo eludir el código, también podría agregar nuevas funcionalidades.

+3

Gracias por el screencast :) Sí, sé sobre la edición de código en línea de Chrome (vi la charla que hizo el año pasado donde la presentó). Esta es una característica excelente que puede usarse para todo tipo de cosas, por ejemplo, salir de una función anticipadamente como mencioné en [mi otra pregunta aquí] (http://stackoverflow.com/q/10229996/). Sin embargo, me gustaría ver "establecer la siguiente declaración" en Chrome eventualmente. (Ctrl + S volverá a ejecutar la función, y puedo encontrarme en el medio de una función en la que * no * quiero volver a ejecutar toda la función nuevamente, pero aún quiero omitir una o más declaraciones). –

+0

Es cierto, tendrá que volver a evaluar esa función para volver al punto de llamada. Estoy intentando pensar en casos en los que quisiera GOTO (esencialmente) en mi depuración, pero no puedo pensar en mis usos; cual es tu escenario? –

+1

Uso GOTO ("set next statement") en IE para omitir todas las instrucciones subsiguientes de una función, esto me permite salir de una función en cualquier declaración dada. Necesito esto porque IE inmoviliza la página mientras se ejecuta el depurador, por lo que no tengo información visual sobre lo que están haciendo mis declaraciones, y la única forma de ver cómo se veía la página en una declaración determinada es hacer un GOTO hasta el final de la función. Todavía no necesitaba GOTO en Chrome ... –

Cuestiones relacionadas