2008-12-22 24 views
9

Tengo que instalar la depuración remota en un servidor de Windows 2003 al que se accede a través de Internet. Tengo VS 2008 SP1 instalado en mi caja de desarrollo de XP.El punto de interrupción no se activa al realizar una depuración remota en Internet para ASP.NET

Lancé el sitio en el servidor remoto y lo conecté a todos los procesos de w3wp.exe en el servidor remoto. Noté que el .dll no cargó el archivo de símbolos. Cuando intento cargar el archivo .pdb correspondiente desde mi máquina local, dice que el archivo no coincide. Tengo "Requerir que los archivos fuente coincidan exactamente con la versión original" sin marcar. El ensamblaje en el servidor remoto es el mismo que el de mi cuadro dev. El sitio y .dll se copiaron desde dev boc al servidor remoto y el código no ha cambiado desde entonces. Entonces sé que los archivos .dll y .pdb deben coincidir o al menos necesito forzar el emparejamiento.

Preguntas:

  1. ¿Cómo puedo obtener el archivo .pdb para cargar? Sé que los puntos de interrupción no se dispararán a menos que se cargue el archivo de símbolos. Noté que el archivo .pdb no existe en la carpeta "Archivos temporales de ASP.NET" en el servidor remoto. El .dll sí.

  2. ¿Cuál es la secuencia correcta para comenzar a depurar de forma remota dentro de VS? (La configuración remota está hecha y puedo ver procesos remotos). En VS, tengo la página de inicio como la url del sitio remoto. Comienzo sin depurar y luego adjuntarlo a w3wp.exe (s) en el control remoto. ¿Esto es todo?

Respuesta

4

¿Está ejecutando un sitio web o una aplicación web (se trata de un proyecto compilado, que implemente la DLL para, o una colección de archivos aspx y aspx.cs que implemente)?

Si se trata de una aplicación web, ¿desplegó una versión de lanzamiento o una versión de depuración? No podrá llegar a los puntos de interrupción cuando "depure" una versión de lanzamiento, ya que el código está bastante optimizado.

¿Tiene configurado "debug = true" en la sección de compilación web.config? Si no, una vez más, la depuración será difícil.

Por último, los pasos que uso cuando la depuración remota son:

  1. Implementar última versión de depuración de archivos
  2. página de solicitud en el servidor remoto para iniciar/reinicie la aplicación
  3. Asegúrese de que el Monitor de depuración remota VS está funcionando en el servidor remoto
  4. En VS, vaya a Herramientas (o Depuración) | Adjuntar al proceso ..., asegúrese de que el servidor remoto esté seleccionado en el calificador y seleccione w3wp.exe para el grupo de aplicaciones correcto, etc.
  5. Pida la página que activará el punto de interrupción.
  6. Depurar!

Si los puntos de interrupción son huecos (círculos rojos delgados en lugar de discos llenos), a menudo verifico la ventana Pila en VS para ver lo que ha sido cargado y lo que no.

+0

Es una aplicación web y no una aplicación de sitio web. Todo lo que has mencionado ha sido hecho. Sin embargo, mi primera pregunta sigue en pie. ¿Cómo se carga el archivo .pdb y dónde espera VS que sea? Al mirar el registro del sitio, no veo que se graben los comandos DEBUG. – Abdu

+0

También no puedo encontrar el archivo% tmp% \ Visual Studio Web Debugger.log.Busqué en la carpeta% tmp%, miré debajo del árbol de carpetas de documentos y configuraciones y el árbol de VS mismo. ¿Hay alguna configuración en VS para habilitar este registro? – Abdu

+0

¿Cómo determina VS que el dll y .pdb no coinciden? ¿Marcas de tiempo? ¿Algún contenido? Deben coincidir porque estoy copiando los archivos de mi máquina local al servidor remoto. – Abdu

Cuestiones relacionadas