El presente post intenta mostrar la depuración de código javascript en Internet Explorer desde la comodidad del Visual Studio .NET, que hace fácil la tarea de depuración de scripts -inclusive aquellos que han pasado por la utilidad packer de Dean Edwards.
Seguramente no soy el único que ha tenido problemas con ciertos scripts que funcionan bien en otros navegadores, pero no con Internet Explorer. Imagino que también habrán maldecido agradecido miles de veces a los desarrolladores de este navegador, por proveer esa "maravillosa" forma de mostrar los mensajes de error que normalmente no sirve para nada.
Retomando el tema del post, para habilitar la depuración, se tiene que desmarcar la opción "Deshabilitar la depuración de secuencias de comandos (Internet Explorer)"
, esta opción pueden encontrarlo en Herramientas -> Opciones de Internet -> Avanzadas
; una vez hecho el cambio se debe cerrar el navegador para que los cambios hagan efecto.
A continuación, para definir un breakpoint, sólo basta escribir debugger;
en el lugar donde se quiere detener la ejecución del script.
code:
foo = function
() {
debugger;
var arr =
[];
arr['demo'] = 'foo';
m = document.getElementById('msg');
alert(m.value)
}
Una vez que hayan hecho los cambios necesarios, cada vez que el navegador encuentre la sentencia debugger
aparecerá algo como:
Invocar al depurador
Visual Studio en acción
Propiedades de una variable
Variables locales
Si no tienen instalado Visual Studio .NET, pueden hacer uso de Microsoft Script Debugger.