post icon

Como depurar Servicios de Windows con Visual Studio

Como depurar un servicio de Windows suele ser una interrogante que se hacen muchos desarrolladores, como no cuenta con una interfaz gráfica y no puede ser lanzado desde el Visual Studio.

Existen dos maneras de depurar un servicio de Windows. La primera es bastante cutre, que consiste en asociar o “atachar” el PID del servicio al depurador del Visual Studio, pero no siempre es útil porque
necesariamente el servicio ya debe estar corriendo y puede que este haga un montón de actividades antes que podamos depurarlo.

La mejor alternativa es invocar al depurador desde el código, es decir, en el evento OnStart podemos evaluar parametros de entrada e invocar al depurador

protected override void OnStart(string[] args)
{
	if (args.GetLength(0) > 0 && args[0].Equals("DEBUG"))
		System.Diagnostics.Debugger.Launch();

	// más codigo que depuraremos
}

Como vemos nuestro parámetro de entrada es “DEBUG”, pero ustedes pueden poner el que más les guste.

Luego desde el administrador de servicios (services.msc) seteamos el parámetro e iniciamos el proceso, para ello dan clic derecho sobre el servicio instalado y en la parte inferior verán un textBox que solicita parámetros, escriben y dan iniciar.

Comentarios desde Facebook:

Sin Comentarios aun, puedes tú ser el primero en comentar!

Deja tu Comentario

Responder