Estoy tratando de adjuntar a un servicio de Windows utilizando el Visual Studio 2010 -> Depurar -> adjuntar al comando de proceso. Cuando me desplazo por la lista de procesos, el servicio de Windows aparece atenuado y el botón de activación también aparece atenuado. He intentado cambiar la cuenta de servicio a servicio local, mi cuenta, etc. pero sigue en gris. Alguien tiene alguna sugerencia o de todos modos para solucionar este problema?Visual Studio Adjuntar el depurador al servicio de Windows - adjuntar gris
Respuesta
Normalmente tengo el mismo problema y me ocupo de ello agregando un bool a mi configuración que desencadena un lanzamiento de depuración. Puede iniciar una instancia de depurador de VS que se fija al proceso de servicio triunfo llamando a esto:
System.Diagnostics.Debugger.Launch();
Lo bueno es que se puede llamar dondequiera que usted desee en el código.
Me gusta esto. Una forma sencilla y agradable de iniciar un depurador desde un servicio. La siguiente pregunta es si hay alguna manera de adjuntar de forma remota con este método si el servicio está instalado en otra máquina. –
No tengo una respuesta inmediata, pero eso sería beneficioso para mí también. Veré si hay una forma fácil de lograrlo y si es así, editaré mi respuesta para incluir también esa solución. – jlafay
La mejor línea de código de todos los tiempos. – Archer
Asegúrese de ejecutar Visual Studio como administrador. Requerirá derechos de administrador para conectarse a un servicio en ejecución.
Intenté esto pero no tuve suerte. Puedo adjuntar a otros servicios enumerados en la lista de procesos, simplemente no es el que necesito. :) –
Es posible que no tenga permiso para conectarse al servicio. ¿Tienes privilegios de administrador en el escritorio? Muchas empresas no permiten esto por defecto, supuestamente para ayudar a proteger su entorno.
Sí, tengo privs de administrador e intenté hacer clic derecho y ejecutar como administrador en vs para ver si eso me ayudó. Sin suerte. –
¿Está en condiciones de probar las estrategias alternativas de depuración que se describen aquí: http://msdn.microsoft.com/en-us/library/7a50syb3(VS.80).aspx? –
Steve, gracias por el enlace. De hecho, había mirado esa página pero no veía las estrategias alternativas en la parte inferior. He usado una consola para probar los servicios antes y esa es una buena alternativa de muerte. –
En VS2010, en el 'asociar al proceso' de diálogo, compruebe las dos casillas de verificación en la parte inferior que dicen 'Mostrar procesos de todos los usuarios' y 'Mostrar procesos en todas las sesiones'.
Al hacer eso, descubrí que mi proceso se mostraba dos veces, una ejecutándose como Sistema y otra ejecutándose bajo el nombre de usuario de Windows local. No estoy seguro de por qué (¡cualquier comentario sobre esto sería genial!), Pero pude adjuntarlo al que no apareció en gris, y también pude pasar por mi código de esta manera. Espero que esto haya ayudado! Intentaré actualizar esto cuando tenga tiempo.
ACTUALIZACIÓN: El segundo fue el proceso servicename.vshost.exe como señaló Ozz en los comentarios.
Si aún no lo ve, asegúrese de que su servicio aún se esté ejecutando, a veces puede tener un servicio defectuoso que se inició y se detuvo automáticamente y, por lo tanto, no aparece en las opciones adjuntar.
esto funcionó para mí. Lo que noté es que el proceso "gris", en realidad es el proceso myservice.vshost.exe, pero no me di cuenta, ya que el nombre era bastante largo y la columna ocultaba el final. El que aparece usando las instrucciones de PreethA es el verdadero proceso a seguir. Supongo que el 1 de los 2 PreethA vio su myservice.vshost.exe – ozz
En mi caso, tuve que marcar la casilla que decía 'Mostrar todos los procesos en todas las sesiones'. Por alguna razón, después de hacer eso, ya no estaba atenuado. – Flea
Whoa - Gracias ...... Tuve lo mismo, tuve 2 corriendo. – coder32
Herramientas-> Adjuntar al proceso. Simplemente marque Mostrar Procesos de todos los usuarios en la parte inferior izquierda. Ordene por proceso e intente buscar el servicio de Windows
No solo tuve que seleccionar las casillas de verificación show processes from all users
y show processes in all sessions
; También tuve que hacer clic en el botón Select
y luego elegir el código Managed
.
me encontré con el mismo problema hoy con ninguna de las soluciones anteriores de trabajo. Como resultado, no es posible adjuntar a un proceso si tiene una sesión de procdump que monitorea ese proceso.
He resuelto mi problema cambiando la forma en que se generó la configuración de LIBERACIÓN a DEPURAR. Y luego, instalé el servicio y lo adjunté como de costumbre.
Después de instalar el servicio de winsdows, inícielo, luego en Visual Studio abra Adjuntar a la ventana de proceso (Alt + Control + P), encuentre su proceso y selecciónelo y haga clic en Adjuntar botón en la parte inferior de la ventana.
buena suerte!
Esto no debe ser downvoted, es exactamente lo que Microsoft sugiere: https://docs.microsoft.com/en-us/dotnet/framework/windows-services/how-to-debug-windows-service-applications – Worthy7
- 1. visual studio: adjuntar depurador sin iniciar depuración web
- 2. No se puede adjuntar depurador para w3wp
- 3. Adjuntar depurador a la instancia de IIS
- 4. Apagar Visual Studio Adjuntar advertencia de seguridad al depurar IIS
- 5. Adjuntar automáticamente depurador vs2005 a procesos secundarios
- 6. ¿Adjuntar automáticamente archivos XML al esquema XSD en Visual Studio?
- 7. ¿Qué significa adjuntar al proceso en Visual Studio 2010?
- 8. Cómo adjuntar el depurador de Visual Studio desde la línea de comandos
- 9. Adjuntar al proceso en 2012
- 10. Cómo adjuntar un depurador dinámicamente a un proceso específico
- 11. No puedo adjuntar ventanas Proceso de servicio
- 12. Cómo adjuntar el depurador para pasar al código nativo (C++) desde un contenedor administrado (C#)?
- 13. No se puede adjuntar al proceso
- 14. ¿Cómo adjuntar el depurador a un subproceso de python?
- 15. Establecer el valor de "Título" que se muestra en el cuadro de diálogo "Adjuntar al proceso" de Visual Studio?
- 16. Cómo adjuntar fuentes al ensamblado al que se hace referencia en Visual Studio
- 17. ¿Cómo puedo hacer una macro de Visual Studio para adjuntar el depurador a todas las instancias de w3wp.exe?
- 18. Cómo adjuntar un depurador en la creación del proceso?
- 19. Depuración w/Adjuntar al proceso Inicia servidor de desarrollo ASP.NET
- 20. LINQ to SQL: Adjuntar o no adjuntar
- 21. x86 Servicio de depurador remoto en x64
- 22. Automatizar "Adjuntar al proceso" en VS2005/2008
- 23. "Adjuntar al proceso" como un evento posterior a la construcción
- 24. Adjuntar depurador a la aplicación IOS después del lanzamiento
- 25. C# - Cómo continuar después de no poder adjuntar el depurador - System.Diagnostics.Debugger.Launch()
- 26. cómo ejecutar (F5) el servicio de Windows desde el estudio visual
- 27. Cómo adjuntar div al fondo sin absoluto?
- 28. CLR Profiler - Adjuntar al proceso existente
- 29. Maven: Adjuntar múltiples artefactos
- 30. adjuntar eventos del teclado al lienzo html5
¿Podría ser porque el servicio está en modo de lanzamiento? – pdiddy
Buena idea, pero ya había comprobado que estaba en modo de depuración. –