2009-09-02 27 views
6

Tengo una aplicación web asp.net antigua basada en .NET Framework 1.1, se ha implementado en el servidor en vivo durante muchos años, en este momento estoy teniendo algunos problemas con el sitio en vivo solamente, la versión de desarrollo en mi escritorio funciona bien. Así que estoy pensando en adjuntar un depurador remoto al sitio en vivo y monitorear lo que sucedió exactamente en el servidor en vivo, pero no sé cómo hacerlo.Cómo depurar una aplicación asp.net en el servidor en vivo

Utilicé depurador remoto anteriormente, pero eso se utilizó cuando creé un nuevo proyecto en algún servidor de desarrollo en LAN local, y el origen y el proyecto están en el servidor remoto, acabo de conectar el depurador remoto de mi escritorio a ese servidor , funciona bien. Pero no estoy seguro de cómo depurar una aplicación en el servidor en vivo.

Muchas gracias por su ayuda!

+0

realmente ayudaría a conocer los tipos de cuestiones el sitio en vivo está teniendo - pueden servir de guía clave para la depuración de comando. –

+0

básicamente, el servidor en directo tendrá de repente un uso de CPU bastante elevado para el proceso w3wp y descubrimos que hay algún envío httpwebrequest enviado por la aplicación que se detiene o envía, muchas conexiones CLOSE_WAIT pero ya no hay conexión activa. Gracias. – user167466

Respuesta

6

Bueno, sí, es posible, pero está más involucrado. Debería adjuntar al proceso de trabajo de IIS que ejecuta el sitio web (w3wp.exe). No lo he hecho muy a menudo, y por lo general trato de evitarlo, porque mientras esté atado nadie puede acceder al sitio web.

Aquí hay un artículo que explica el proceso.

http://www.codeproject.com/KB/aspnet/ProcessAttache.aspx

El artículo se basa en 2.0 no 1.1, pero todavía le debe dar una idea de cómo hacerlo. Supongo que tendrás que tener Visual Studio en el servidor de producción.

Si esto no es factible y usted tiene acceso al código, también puede intentar ingresar a un archivo de texto en ciertos puntos de la aplicación. He hecho esto de manera muy efectiva para encontrar problemas, lo que le permite dejar que el sitio web se ejecute normalmente y simplemente verifique el archivo de registro una vez que sepa que el problema ha ocurrido.

Es posible que desee comprobar log4net, que es una aplicación de registro gratuita.

Buena suerte

+0

Muchas gracias por la ayuda. Revisé el artículo, tienes razón, ese no es el mejor enfoque para monitorear el sitio en vivo. Intentaré agregar el registro a la parte sospechosa del código. También uso DebugDiag para obtener cierta información también, pero es difícil para mí relacionarlo con mi código. – user167466

6

Bueno, ¿por qué no intentas habilitar el seguimiento en el servidor? ¿Entonces puedes ver toda la información en una página separada? Para activar en el web.config:

<configuration> 
    <system.web> 
    <trace enabled="true" pageOutput="false" requestLimit="40" 
     localOnly="false"/> 
    </system.web> 
</configuration> 

luego cargar la página trace.axd en su sitio web para ver los datos de nivel de página.

+0

Muchas gracias por la respuesta. No estoy seguro de si solo permitir rastreo me dará suficiente información para resolver algún problema de tiempo de espera, me gustaría saber dónde y cuándo ocurrió el tiempo de espera. qué es exactamente lo que están esperando. ¿Sabes cómo puedo adjuntar depurador al servidor en vivo? ¿Debo instalar los componentes de VS.net 2003 en el servidor activo primero para habilitar la depuración? Gracias. – user167466

Cuestiones relacionadas