Compartir a través de


Depuración automática de la aplicación de servicio

Un depurador se puede iniciar automáticamente cuando se inicia la aplicación de servicio. Como alternativa, se puede iniciar automáticamente cuando la aplicación de servicio encuentra una excepción o ejecuta un comando DebugBreak . Si ha elegido uno de estos métodos, en este tema se explica cómo continuar. Si no está seguro de qué método elegir, consulte Elección del mejor método.

Después, siga el procedimiento siguiente:

  1. Realice uno de los siguientes pasos preparatorios:

  2. Si el servicio ya se está ejecutando, debe reiniciarlo para que estos cambios surtan efecto. Se recomienda reiniciar Windows en sí mismo para quitar los efectos del servicio en ejecución. Si no desea reiniciar Windows, use los siguientes comandos, donde ServiceName es el nombre del servicio:

    net stop ServiceName 
    net start ServiceName 
    
  3. Si ha elegido depurar el código de inicialización de la aplicación de servicio, cuando se inicia el servicio, se inicia el depurador y se adjunta a la aplicación de servicio.

    Si ha elegido permitir que el depurador se desencadene mediante una excepción, la aplicación de servicio se ejecuta normalmente hasta que encuentra una excepción o ejecuta una función DebugBreak . En este momento, se inicia el depurador y se adjunta a la aplicación de servicio.

  4. El paso siguiente depende de la línea de comandos del depurador que especificó durante el paso 1:

    • Si especificó un depurador sin ninguna opción de comunicación remota, este depurador se inicia y su ventana se vuelve visible.
    • Si especificó NTSD con las opciones -server y -noio, NTSD se inicia sin una ventana de consola. Después, puede conectarse a la sesión de depuración desde otro equipo iniciando cualquier depurador en modo de usuario con el parámetro -remote. Para obtener instrucciones, consulte Activación de un cliente de depuración.
    • Si especificó NTSD con la opción -d, NTSD se inicia sin una ventana de consola. Después, puede conectarse a la sesión de depuración mediante el depurador de kernel que se ejecuta en otro equipo. Para obtener instrucciones, consulte Control del depurador de User-Mode desde el depurador de kernel.
    • Si especificó NTSD con las opciones -ddefer y -server, NTSD se inicia sin una ventana de consola. Después, puede conectarse a la sesión de depuración mediante un depurador de kernel y un depurador remoto en modo de usuario, que se ejecuta en un equipo diferente al del servicio (pero posiblemente el mismo equipo que el otro). Para obtener instrucciones, consulte Combinación de este método con depuración remota.
  5. Cuando se inicia el depurador, el servicio se detiene en el punto de interrupción del proceso inicial, la excepción o el comando DebugBreak . Esto le permite examinar el estado actual de la aplicación de servicio, establecer puntos de interrupción y tomar cualquier otra opción de configuración deseada.

  6. Use g (Go) u otro comando de ejecución para reanudar la ejecución de la aplicación de servicio.

Vea también

DebugBreak (función)