2012-02-16 19 views
5

Tengo un archivo .js que normalmente se ejecuta en cscript.exe (es decir, no se ejecuta en el navegador y no se puede ejecutar allí).Depuración Javascript en Visual Studio (u otro depurador JS)

Sé que puedo alimentar cscript.exe el parámetro para que me pidan que elija un depurador. De acuerdo. Esta bien.

Selecciono "Visual Studio 2005 Debugger", aparece IDE, la ejecución se detiene en la primera línea. Multa.

El script finaliza (o lo termino), edito algo y quiero depurarlo de nuevo.

La idea simple sería simplemente pulsar F5 y ejecutar de nuevo el depurador. Pero esto no funciona. VS simplemente me dice que no pudo encontrar ningún símbolos de depuración en cscript.exe: screenshot

¿Ahora qué? Iniciar cscript.exe desde la línea de comandos nuevamente para cada ejecución de depuración es bastante engorroso en mi opinión.

¿Hay alguna manera de simplemente depurar el script con VS? También se aprecian sugerencias para otras herramientas de depuración.


Editar:
El answer de t0nyh0 es bastante estrecha. Creo una aplicación de consola ficticia, compilo y aparece el depurador. Sin embargo, dos cosas no son perfectas

  1. cscript.exe siempre pide el depurador a utilizar (qué instancia de VS).
    ¿Podría solucionarse esto especificando una cierta instancia del depurador directamente en la línea de comando?

  2. Para disparar un evento posterior a la construcción, tiene que haber algunas modificaciones en las fuentes. Actualmente, simplemente agrego/elimino una línea en blanco para activar la construcción de mi proyecto ficticio.
    ¿Hay alguna manera de ejecutar siempre el script de creación posterior, incluso si nada ha cambiado?

+0

Con respecto a 2. en la pestaña Eventos de compilación en Visual Studio, tiene diferentes opciones para ejecutar eventos de Post Build. Al menos en VS 2010, sus opciones son "Siempre", "En compilación exitosa" y "Cuando la compilación actualiza el resultado del proyecto". No estoy seguro de si es el mismo para 2005 o no. – BryanJ

Respuesta

2

Puede que no haya una manera de asociar el depurador a cscript.exe sí mismo, sino que puede ser capaz de crear un evento posterior a la generación que se ejecuta un archivo por lotes que se ejecuta el comando cscript.exe //x myScript.js de modo que cada vez que genere, se ejecuta automáticamente para usted.

ver este para obtener más información en el post-construcción de eventos: http://msdn.microsoft.com/en-us/library/ke5z92ks(v=vs.80).aspx

+0

+1 ¡Esto está muy cerca! Ver pregunta actualizada – eckes

2

Aunque no es una herramienta de depurador, debe considerar el uso de un marco de pruebas JavaScript para Visual Studio, como Chutzpah, que lo más probable es hacer su vida mucho más fácil.

Junto con las herramientas estándar de depuración del navegador (Firebug o Chrome Inspector), he descubierto que eso es todo lo que necesito para crear código JavaScript limpio, probado y libre de fallas.

0

El mejor depurador de Javascript es Rhino Debugger Ver http://www.mozilla.org/rhino/debugger.html. es de código abierto y puede obtener el código fuente de la GUI del depurador. puede personalizarlo como desee :-).

1

No tengo cscript a la mano, pero creo que puede intentar adjuntar VS al proceso manualmente.

Después de iniciar su js usando cscript.exe //x myScript.js, haga clic en "Depurar - Adjuntar al proceso", encuentre su proceso cscript.exe y conéctelo.

Olvidé si VS2005 tiene esta función, pero sí VS2008 y VS2010.

Es la acción de depuración nativa que VS lleva a depurar (adjuntar al proceso en ejecución). Si esto no funciona, no creo que puedas hacer esto usando Visual Studio.

Cuestiones relacionadas