Adjuntar depurador a la instancia de IIS

83

Tengo IIS 5.1 en una máquina XP y Visual Studio 2005. ¿Cómo puedo adjuntar mi depurador a la instancia de IIS?

Por cierto: no veo el proceso IIS dentro de los procesos en ejecución o probablemente no sé qué buscar.

Mihai Lazar
fuente
1
Para otros que vienen de Google: Aparentemente, esto no es factible en Visual Web Developer 2010 Express. Sospecho que tampoco está en Visual C # Express.
Joel Peltonen

Respuestas:

133

En Visual Studio:

  1. Haga clic en "Depurar" en la barra de menú.
  2. Haga clic en "Adjuntar al proceso"
  3. Marque la casilla de verificación " Mostrar procesos de todos los usuarios " en la esquina inferior izquierda
  4. Seleccione aspnet_wp.exe , w3p.exe o w3wp.exe de la lista de procesos
  5. Haga clic en "Adjuntar"
Al W
fuente
1
Gracias, por casualidad, ¿sabe cómo hacer esto en Vista Business e IIS 7?
Mihai Lazar
35
intente buscar el proceso w3p.exe y adjúntelo siguiendo los pasos anteriores
jerjer
2
@Mihai: En Vista / Win7 / 2008 / 2008R2 también necesitará ejecutar el depurador como administrador para poder hacer esto.
Richard
1
@Rcihard Otra cosa es cuando hay varios ApplicationDomains, cada uno inicia otra instancia de w3wp.exe y necesito estar atento a cuál es el que está ejecutando mi código actualmente :)
Mihai Lazar
5
@MihaiLazar Ejecutar C:\windows\system32\inetsrv\appcmd list wppara enumerar los grupos de aplicaciones y sus ID de proceso y encontrar a cuál adjuntar. blogs.msdn.com/b/friis/archive/2009/10/22/…
Nathan
17

Solo para aclarar la respuesta de Jimmie R. Houts ...

Si desea depurar la aplicación web VS e IIS, puede hacer lo siguiente:

  1. Aloje el sitio dentro de IIS (directorio virtual, etc.).
  2. Luego en VS2005 haz esto:

    • Haga clic con el botón derecho en Proyecto web → Propiedades → Opciones de inicio → Usar servidor personalizado → URL base → Ingrese la dirección del sitio como alojado en IIS.
    • Pulsa F5y podrás depurar tu código

Lo mismo funciona para VS 2008 también.

Amitd
fuente
14

Estoy ejecutando Windows 7 con IIS versión 7.5 y también necesitaba marcar las casillas "Mostrar procesos de todos los usuarios" y "Mostrar procesos en todas las sesiones", en la parte inferior del cuadro de diálogo "Adjuntar al proceso".

Además, puse mi aplicación en un grupo de aplicaciones específico, lo que significa que puede verla etiquetada con w3wp.exe.

El codificador
fuente
5

El proceso de IIS es aspnet_wp.exe.

De hecho, adjuntar al proceso aspnet_wp.exe es lo que hace VS cuando tiene su proyecto configurado para usar IIS para la depuración.

Jimmie R. Houts
fuente
3

Los posibles nombres del proceso ASP.NET:

  • w3wp.exe es IIS 6.0 y posterior.
  • aspnet_wp.exe son versiones anteriores de IIS.
  • iisexpress.exe es IISExpress.
  • dotnet.exe es ASP.NET Core.
  • inetinfo.exe son aplicaciones ASP más antiguas que se ejecutan en proceso.

De Busque el nombre del proceso ASP.NET

Michael Freidgeim
fuente
1

También deberá abrir el Servicio de información de Internet desde el Panel de control> Herramientas administrativas. Haga clic con el botón derecho en el sitio web en cuestión, haga clic en la pestaña del directorio de inicio y seleccione el botón de configuración. Esto abrirá un nuevo formulario con tres pestañas: haga clic en la de depuración y seleccione las dos opciones en la sección del indicador de depuración. Esto también es necesario para depurar.

Miguel
fuente
2
Esto solo es necesario para depurar el código ASP. ASP.NET, ISAPI, ... y todos los demás medios para agregar código no lo requieren.
Richard
0

El uso de un complemento Attach to IIS ( VS2015 , VS2017 ) ahorra algunos clics, especialmente cuando se trata de un ecosistema de sitios alojados en IIS (por ejemplo , una interfaz con múltiples servicios de backend)

fíat
fuente