¿Cómo depurar ASP clásico?


Tengo que depurar un sitio asp clásico servido por IIS 7 (windows 2008).

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

Author: casperOne, 2009-07-16

7 answers

De una entrada de blog de MSDN: http://blogs.msdn.com/mikhailarkhipov/archive/2005/06/24/432308.aspx

Aquí es cómo hacer que la depuración 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. Open classic ASP en VS 2005.
  3. Establecer el punto de interrupción.
  4. Ver la página en el navegador o ejecutar sin depuración.
  5. Depurar / Adjuntar al proceso
  6. Localice el proceso de trabajo IIS ASP (w3wp.exe en IIS6) que expone x86 y Script y adjuntar como Script.

De eddiegroves comentario a continuación:

Con respecto al Paso # 1 en IIS7 - IIS > ASP > Compilación > Propiedades de depuración > Habilitar la depuración del lado del servidor

 38
Author: Alex Black,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-06 13:02:11

Me doy cuenta de que esto es viejo, pero pensé en responder para ayudar a los demás 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 adjunte el depurador al w3wp.proceso exe y puede establecer puntos de interrupción, agregar variables para ver ventanas, etc.

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

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

 6
Author: LarryBud,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-15 15:56:39

He encontrado que una configuración útil para habilitar se encuentra en el nivel del servidor en ASP > Compilación > Propiedades de Depuración > Enviar Errores Al Navegador . Pon eso en "True".

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

 3
Author: Kenny Evitt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-24 15:07:51

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

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

Publicado bajo la licencia de código abierto del MIT

 2
Author: David Meagor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-12-19 20:27:44

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

NOTA: "timestamp" es una función personalizada mía. Probablemente se puede adivinar lo que hace, y probablemente rodar su propia. ;-)

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
 1
Author: Stephen R,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-31 17:02:37

Esta es la forma en que lo descubrí:

Ponga un stop (write stop) en el lugar donde desea alcanzar el punto de depuración. A continuación, ejecute la aplicación en el navegador. Cuando la ejecución se detenga, se abrirá una ventana emergente de depuración pidiendo depurar con Visual studio (se debe instalar una versión VS). Luego le pedirá que adjunte el proceso y puede usar f10, f11 para pasar y entrar. Puede ver los datos usando agregar reloj.

 0
Author: M A P,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-19 11:42:17
  1. aloje su sitio en el servidor IIS.
  2. habilite el depurador remoto en el servidor IIS.(siga este tutorial )
  3. importe el código fuente en visual studio.
  4. instale 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 adjunte al proceso w3wp.exe.
  7. si no puede ver el proceso w3wp.exe). Abra el enlace del sitio web en el navegador y seleccione mostrar para todos los usuarios ahora u será capaz de ver el proceso y adjuntar.
  8. No olvides poner un depurador en la aplicación :-)
 0
Author: hari,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-03 06:58:07