Como depurar Servicios Windows paso a paso
Los proyectos del tipo Windows Services, como ya es sabido no tienen interfaz gráfica para desarrollar, pero el problema no viene aqui, el problema para la mayoría es el poder depurar, o mejor dicho hacer ejecución linea por linea de código… mas claro? pulsar F11 para ejecutar la línea de código que esta resaltada en amarillo; esto no es posible ya que para ejecutar el servicio windows, éste debe estar instalado y luego ya no se puede hacer ese seguimiento. Les mostraré una forma que me enseñaron hace un tiempo para hacer este trabajo tal y como se muestra en la siguiente imágen, el círculo rojo es para que se den cuenta de que el servicio se esta ejecutando y es posible de depurar:

Crea tu Proyecto Windows Service de forma normal y agrega los instaladores (para poder instalarlo)… una vez que hayas escrito el código que quieres ejecutar y que hayas instalado tu servicio, ya estamos listos para empezar:
- Ir a la ventana de Servicios de Windows (Se encuentra en las Herramientas Administrativas en el Panel de Control) e iniciar el Servicio.
- Inmediatamente ir a nuestro proyecto en Visual Studio y hacer clic en el Menu Debug, opción Attach to Process…
- En la ventana que se mostrará, debe seleccionar el checkBox Show processes from all users, ya que el servicio corre con el usuario Servicio Local, y si no se activa esta opción no se verá el ejecutable de nuestro servicio.
- Seleccionar el proceso que corre nuestro servicio, tiene el nombre del ejecutable, así que no se puede perder. Si no lo encuentran ordenen los datos por la columna Type para encontrarlo más rápido, es del tipo Managed.
- Pulsen OK. Listo!

Con estos pasos es suficiente, lo que recomendaría es que al iniciar el proceso coloquen un timer que invoque a un procedimiento principal luego de unos 10 o 15 segundos (dependiendo de que tan rápidos sean para atachar el proceso), eso les dará tiempo para poder pausar su proyecto en el punto de quiebre (ese punto marroncito que se coloca a la izquierda cuando quieres depurar) que han definido.
Bien, espero que estos pasos les sean de utilidad, a mi particularmente me sirve mucho para hacer mi depuración paso a paso.
Saludos.






Agosto 12th, 2008 at 6:30 pm
como puedo agregar la opcion de attach to process.
en .net 2005 ya que no visualizo la opcion
Agosto 12th, 2008 at 9:09 pm
Hola Camilo, esa opción debe estar en el menú Debug.
Si no lo encuentras prueba en el Menú View / ToolBars / Customize / Ficha Commands / Categoria Debug
Arrástralo a una barra de herramientas si gustas.
Saludos.
A propósito, tu VS está en inglés o español!??
Agosto 22nd, 2008 at 8:11 am
Hola
A mi me ha costado encontrar la opción también. Al final en el menú herramientas, la primera entrada te permite asociar a un proceso.
Un Saludo y gracias por la información
Joseba Guinea Balsategui