Hola… ¿Qué tal?
Alguna vez, platicando con Eric Rudder, hace ya algunos años cuando vino al lanzamiento de Visual Studio .NET 2003, le preguntaba si Microsoft tenía pensado incluir la depuración de javascript dentro de Visual Studio… bueno, la respuesta fue simple, que no habría algo como tal y que podría ser o no. Aún hoy, parecía que la depuración de javascript no es posible en Visual Studio 2005, o mejor dicho, no es posible de forma directa, como colocar puntos de interrupción en un segmento de nuestro código javascript en alguna página aspx, bueno, como les decía no es posible de forma directa, lo que deja suponer que es posible de forma indirecta… ¿es eso cierto?, pues sí, es posible de forma indirecta, con puntos de interrupción y depuración paso a paso, con salto de instrucciones y la vista rápida de los valores de una variable al mismo estilo de visual studio.
Comúnmente es un poco frustrante ver que nuestras páginas tienen errores de javascript, esto se nota con el pequeño indicador de advertencia que se muestra en la esquina inferior izquierda del explorador, en la barra de estado. Al dar doble click en este indicador siempre se despliega una venta con la lista de errores de ejecución de javascript detectados por el explorador con descripción y línea de error… he ahí la primera frustración, el número de línea no corresponde con la línea de nuestra página en desarrollo… sino con la línea de la página descargada, lo que obliga a la tarea de ver el código de la página ejecutada, crear un archivo HTML en Visual Studio y luego entonces localizar la línea en cuestión con el posicionador de línea que se muestra al dar doble click en el indicador de línea del IDE, ese que se muestra en la barra de estado. Además, el mensaje de error no nos dice mucho cuando no sabemos cómo están pasando los datos en el código de javascript, lo cual nos da la segunda frustración, bueno, entonces procedemos a poner un alert o un confirm para de alguna manera dar visibilidad al valor que entra dentro de una función de javascript o los valores que resultan.
Pues bueno, con el depurador de Visual Studio esto sería más simple, interrumpir o saltar la línea de ejecución cuando falla, ver el valor de las variables de igual manera que se ven en al depurar código de Visual Studio. Pues bien, esto es posible con el código de javascript y aquí les quiero mostrar la manera de hacer y sacar provecho de las capacidades de Visual Studio 2005.
Comencemos pues.
Primeramente, tendrás que desmarcar la casilla que dice “deshabilitar depuración de script (internet explorer)”, esto es en las opciones avanzadas de internet explorer, entrando al menú de herramientas en opciones de internet, selecciona la pestaña opciones avanzadas y en la sección de Examinar dentro del árbol de opciones desmarcamos la casilla que dice “Deshabilitar depuración de script (internet explorer)”, ahora bien, procedemos a ejecutar nuestro proyecto de ASP.NET, el que supuestamente tenemos con problemas de javascript, en la parte donde se suscite un error de javascript, se detendrá el programa y se irá hacia el visual studio mostrando la página de ejecución indicando la línea de error, ahí podemos ya colocar puntos de interrupción y saltar la ejecución para que vuelva a pasar la ejecución pero esta vez se detendrá en el punto de interrupción.
Les comentaba que no es directa la manera de hacerlo, con lo que quiero decirles que no se pueden poner puntos de interrupción en la ejecución normal desde el inicio. El ambiente de depuración de javascript solo se presentará si la página tiene errores en el código javascript de otra manera la depuración no se presenta, y bueno, es para lo único que interesa que se presente, pera corregir errores. La modificación de errores debe ser en la página original en visual studio y no la página de ejecución pues no se actualiza hacia el archivo original. Les recomiendo que después de depurar sus páginas, marquen nuevamente la opción que mencioné anteriormente, ya que en ocasiones sí es molesto que esté preguntando si desean depurar. Cuando se está ejecutando en modo de depuración un sitio con la opción de depurar scripts, si navegan a una página con errores de script en ese momento se mandará a visual studio la depuración de la página con errores aunque no sea de nuestro proyecto.
Bueno, eso es todo por ahora, los dejo y espero que les sea de gran utilidad.
Saludos…
Octavio Telis