Debugging de JavaScritp con VS 2008

Hace unas semanas hablé sobre el soporte de intellisense para JavaScript en VS 2008.

Otra de las características que estoy seguro que gustará mucho de VS 2008 es el soporte para debugging de JavaScript. Está disponible tanto en Visual Web Developer 2008 Express edition como en Visual Studio, ahora, crear páginas con JavaScript y AJAX será muchísimo más fácil.

Poniendo breakpoints JavaScript en páginas ASP.NET

Una de las cosas más frustrantes de VS 2005 es que teníamos que ejecutar nuestras páginas ASP.NET antes de poder poner breakpoints en JavaScript.

VS 2008 nos permite ahora poner breakpoints en el código JavaScript cliente tanto en los aspx como en los .master.

Cuando ponemos un breakpoint en un aspx como arriba, VS 2008 mapeará automáticamente la localización del breakpoint en el código html que se devuelve al cliente:

Si añadimos/eliminamos/actualizamos la localización del breakpoint en el html que se está ejecutando, VS 2008 también hace el mapeado en sentido contrario y actualiza el breakpoint en el .aspx o .master original.

Lo mejor de todo es que podemos poner breakpoints en JavaScript y VB/C# a la vez (hasta en la misma página) usando un sólo debugger para pasar del lado servidor al lado cliente  (esto es realmente útil en cualquier aplicación AJAX).

Cualquier breakpoint que pongamos en JavaScript se guardará por defecto cuando cerremos el proyecto/solución.

Navegando sobre documentos con scripts en el explorador de soluciones

Normalmente el JavaScript que se envía al cliente se genera dinámicamente en el servidor (por ejemplo: con los scripts guardados como recursos en controles de servidor compilados – Como los UpdatePanels de ASP.NET AJAX). En estos escenarios, queremos ver fácilmente todas las URLs de JavaScript que se están cargando en la página, y debuggearlas.

VS 2008 hace que esto sea más fácil integrando la característica de Script Document (que en VS 2005 era una utilidad externa) en el explorador de soluciones cuando estamos debugeando la aplicacion.

En concreto, cuando ejecutamos y debugeamos una página con VS, VS 2008 nos mostrará una lista de URLs que contienen los script que la página ha cargado, y nos lo muestra en el explorador de soluciones:

Podemos hacer doble clic en cualquier URL para ver los archivos que carga:

Obviamente ya podemos poner todos los breakpoints que queramos.

Soporte para Watch/Locals en el debuger

Abrir y navegar por los archivos JavaScript en el debugger es muy facil – pero lo que realmente mola del debuggin de JavaScript es el soporte de objetos en ejecución. Cuando vemos el valor de una variable con el debugger en VS 2008, veremos mucha más información referente al objecto:

Ahora podemos ver los métodos del objeto en tiempo de ejecución:

Los eventos:

Ahora tenemos muchísimos más detalles de las diferentes propiedades de los objetos en ejecución. Fijaos cómo estamos atravesando el elemento del div «parentElement» para ver dinámicamente los detalles del elemento padre HTML :

Obviamente podemos usar el grid anterior tanto para ver como para cambiar los valores. Podemos hasta ejecutar código en una ventana intermedia para obtener y cambiar el código de JavaScript en tiempo de ejecución:

VS 2008 también nos permite añadir visualizadores de debug que podemos usar en el debuggin. Esto permite a los desarrolladores añadir extensiones al debuger que trabajen con objetos en ejecución y nos muestre una vista más rica de ellos. Por ejemplo, podemos usar los visualizadores integrados «Text», «XML» o «HTML» para cargar un cuadro de dialogo para ver los valores:

Supongo que pronto veremos en CodePlex un proyecto para visualizadores de  JSON y REST.

Resumen

Hemos visto unas cuantas características nuevas del debugger de JavaScript que vienen en VS 2008. Hay muchas más característcias de JavaScript y AJAX que veremos en proximos post.

Debido al soporte multitargeting de VS 2008, podemos usar estas características de JavaScipt en aplicaciones que usen .NET 2.0 (incluso las que tienen ASP.NET AJAX 1.0 a parte). Combinando esto con el intellisense para JavaScript de VS 2008, tenemos más razones aún para empezar a usar VS 2008 – incluso aunque sólo tengamos proyectos en .NET 2.0.

Espero que sirva.

Scott

Traducido por: Juan María Laó Ramos. Microsoft Student Partner.

toH tlhIngan Hol DajatlhlaH ‘e’ DaneH’a’?

0 comentarios sobre “Debugging de JavaScritp con VS 2008”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *