¿Cómo se depura ASP clásico?

Tengo que depurar un sitio ASP clásico que es servido por IIS 7 (Windows 2008).

¿Cómo puedo hacer esto? Solo he trabajado con ASP.NET.

Desde una publicación de blog de MSDN: http://blogs.msdn.com/mikhailarkhipov/archive/2005/06/24/432308.aspx

Aquí se explica cómo hacer que la depuración de ASP funcione:

  1. Habilite la depuración ASP en el servidor. (También agregué el verbo DEBUG a la extensión asp, pero no estoy seguro de si es necesario).
  2. Abra ASP clásico en VS 2005.
  3. Establecer punto de interrupción.
  4. Ver página en el navegador o ejecutar sin depuración.
  5. Depurar | Adjuntar al proceso
  6. Busque el proceso de trabajo ASP de IIS (w3wp.exe en IIS6) que expone x86 y Script y adjunte como Script.

De eddiegroves comenten a continuación:

En relación con el paso n. ° 1 en IIS7 – IIS> ASP> Comstackción> Propiedades de depuración> Activar depuración en el servidor

Me doy cuenta de que esto es viejo, pero pensé que respondería para ayudar a otros ya que estaba buscando algo más.

Puede usar Visual Studio para depurar ASP clásico.

Si está ejecutando una copia local de IIS, simplemente conecte el depurador al proceso w3wp.exe y puede establecer puntos de interrupción, agregar variables para ver ventanas, etc.

Si tiene más de un sitio web, es útil ejecutar cada uno en un grupo de aplicaciones separado, y podrá identificar diferentes procesos de w3wp.exe en la ventana Adjuntar proceso.

Simplemente elija “script” como el tipo de depurador. Si está ejecutando IISExpress, entonces el proceso iisexpress.exe es el correcto para adjuntar.

Descubrí que una configuración útil para habilitar se encuentra en el nivel del servidor en ASP > Comstackción > Propiedades de depuración > Enviar errores al navegador . Ponlo en “Verdadero”.

Esto puede no ser apropiado en todas las circunstancias (por ejemplo, para un sitio accesible a través de Internet).

Construido en la depuración ASP clásico es bastante pobre. Junté esta clase ASP include que funciona con Firebug + FirePHP. Le permite registrar valores (incluidas cadenas, matrices multidimensionales e incluso objetos creados con json.asp) en la consola Firebug y ver los objetos de colección incorporados de ASP que pueden ayudar (particularmente con Ajax donde no se pueden generar datos de depuración sin rompiendo la respuesta json.) Los tiempos y errores de carga del script Ajax se registran automáticamente para una visualización rápida.

https://github.com/dmeagor/ClassicASP-FirePHP

Lanzado bajo la licencia de código abierto del MIT

Uso lo siguiente (que obtuve en algún lugar en línea) para escribir en un archivo de registro. Preferiría un método para escribir directamente en Console en Firefox o Chrome, pero esto funciona bastante bien para mí.

NOTA: “marca de tiempo” es una función personalizada mía. Probablemente puedas adivinar qué es lo que hace, y probablemente hagas el tuyo. 😉

function error_log( message ) dim objFSO, objLog Set objFSO = CreateObject("Scripting.FileSystemObject") Set objLog = objFSO.OpenTextFile( "ASP_errors.log", 8, true) objLog.WriteLine "[" & timestamp & "] VBS Message: " & message objLog.close set objLog = nothing set objFSO = nothing end function 

Esta es la forma en que lo descubrí:

Ponga una parada (escriba detener) en el lugar donde desea golpear el punto de depuración. Luego ejecuta la aplicación en el navegador. Cuando la ejecución se detenga, se abrirá una ventana emergente de depuración pidiendo que se depure con Visual Studio (se debe instalar una versión VS). Luego se le pedirá que adjunte el proceso y puede usar f10, f11 para ir y volver a ingresar. Puede ver los datos usando agregar reloj.

  1. alojar su sitio en el servidor IIS.
  2. habilitar el depurador remoto en el servidor IIS. ( siga este tutorial )
  3. importar el código fuente en Visual Studio.
  4. instalar la herramienta de depuración remota desde aquí
  5. En la herramienta de depuración remota, seleccione herramientas-> opciones-> sin autenticación para todos los usuarios.
  6. Vaya a Visual Studio y conéctelo para procesar w3wp.exe.
  7. si no puedo ver el proceso (w3wp.exe). Abra el enlace del sitio web en el navegador y seleccione mostrar para todos los usuarios; ahora podrá ver el proceso y adjuntarlo.
  8. No te olvides de poner un depurador en la aplicación 🙂