Inicio > .Net FrameWork, Visual Studio 2005, Visual Studio 2008 > Como depurar Servicios Windows paso a paso

Como depurar Servicios Windows paso a paso

Miércoles, 7 de mayo de 2008 Dejar un comentario Ir a comentarios

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:

Depurando Servicios Windows

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:

  1. Ir a la ventana de Servicios de Windows (Se encuentra en las Herramientas Administrativas en el Panel de Control) e iniciar el Servicio.
  2. Inmediatamente ir a nuestro proyecto en Visual Studio y hacer clic en el Menu Debug, opción Attach to Process…
  3. 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.
  4. 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.
  5. Pulsen OK. Listo!

Ventana "Attach To Process"

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.

 

  1. camilo
    Martes, 12 de agosto de 2008 a las 18:30 | #1

    como puedo agregar la opcion de attach to process.
    en .net 2005 ya que no visualizo la opcion

  2. h@nz
    Martes, 12 de agosto de 2008 a las 21:09 | #2

    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!??

  3. Joseba
    Viernes, 22 de agosto de 2008 a las 08:11 | #3

    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

  4. Ramon
    Martes, 27 de julio de 2010 a las 17:32 | #4

    Hola,

    Disculpa he tratado de buscar una solución a este problema pero todavía no he podido resolverlo.

    He hecho esto que dice el post, pero en la lista de procesos, el proceso asociado al servicio me aparece deshabilitado, por tanto no puedo darle al asociar.

    lo mismo sucede con el botón Procesos del menú Depurar está dehabilitado.

    Me puede dar alguna idea de donde buscar, ya sé que este post es de hace mucho tiempo, pero ya no sé donde buscar…

    Saludos, y gracias de antemano…

  5. Nicolas
    Domingo, 15 de mayo de 2011 a las 22:08 | #5

    Hola

    El botón Asociar esta deshabilitado, que puede ser??

    Gracias!

  1. Sin trackbacks aún.