Depuración manual de la aplicación de servicio
La asociación manual a una aplicación de servicio una vez iniciada es muy similar a la depuración de cualquier proceso en modo de usuario en ejecución.
Use la herramienta TList con la opción /s para mostrar el identificador de proceso (PID) de cada proceso en ejecución y los servicios activos en cada proceso.
Si la aplicación de servicio que desea depurar se combina con otros servicios en un único proceso, debe aislarla antes de depurarla. Para ello, realice el procedimiento descrito en Aislamiento del servicio. Al final de este procedimiento, reinicie el servicio.
Para determinar el nuevo PID del servicio, emita el siguiente comando de la herramienta de configuración de servicio (Sc.exe), donde ServiceName es el nombre del servicio:
sc queryex ServiceName
Ahora inicie WinDbg o CDB con esta aplicación de servicio como destino. Hay tres maneras de hacerlo: especificando el PID con la opción -p especificando el nombre ejecutable con la opción -pn (si el nombre ejecutable es único) o especificando el nombre del servicio con la opción -psn.
Por ejemplo, si el proceso SpoolSv.exe tiene un PID de 651 y contiene el servicio denominado Spooler, los tres comandos siguientes son equivalentes:
windbg -p 651 [AdditionalOptions]
windbg -pn spoolsv.exe [AdditionalOptions]
windbg -psn spooler [AdditionalOptions]
Una vez iniciado el depurador, continúe como lo haría en cualquier otra sesión de depuración en modo de usuario.