39 votes

Visual studio Attachement du débogueur au service Windows -- attachement grisé

J'essaie d'attacher à un service Windows en utilisant la commande Visual Studio 2010 --> Debug --> attach to process. Lorsque je fais défiler la liste des processus, mon service Windows est grisé et le bouton d'attachement est également grisé. J'ai essayé de changer le compte de service pour loacal service, mon compte, etc mais il reste grisé. Quelqu'un a-t-il des suggestions ou des moyens de résoudre ce problème ?

63voto

jlafay Points 4670

J'ai généralement le même problème et je m'en occupe en ajoutant un bool à ma configuration qui déclenche un lancement de débogage. Vous pouvez lancer une instance de débogueur VS qui s'attache à votre processus de service win en appelant ceci :

System.Diagnostics.Debugger.Launch();

Ce qui est bien, c'est que vous pouvez l'appeler où vous voulez dans votre code.

39voto

PreethaA Points 360

Dans VS2010, dans la boîte de dialogue "Attacher au processus", cochez les deux cases en bas qui disent Afficher les processus de tous les utilisateurs et Afficher les processus dans toutes les sessions '.

En faisant cela, j'ai constaté que mon processus apparaissait deux fois, l'un fonctionnant en tant que Système et l'autre fonctionnant sous mon login local Windows. Je ne sais pas trop pourquoi (tout commentaire à ce sujet serait le bienvenu !), mais j'ai pu m'attacher à celui qui n'était pas grisé et j'ai également pu suivre mon code de cette façon. J'espère que cela vous a aidé ! Je vais essayer de mettre à jour cette page quand j'aurai le temps.

MISE À JOUR : Le second était le processus servicename.vshost.exe comme l'a souligné Ozz dans les commentaires.

Si vous ne le voyez toujours pas, vérifiez que votre service est toujours en cours d'exécution. Il se peut que vous ayez un service défaillant qui a démarré et s'est arrêté automatiquement et qui n'apparaît donc pas dans les options d'attachement.

7voto

Flea Points 3308

Non seulement j'ai dû sélectionner show processes from all users y el show processes in all sessions cases à cocher ; j'ai également dû cliquer sur le Select puis choisissez le bouton Managed code.

enter image description here

2voto

Reed Copsey Points 315315

Assurez-vous que vous exécutez Visual Studio en tant qu'administrateur. Il faudra disposer des droits d'administrateur pour s'attacher à un service en cours d'exécution.

0voto

Steve Townsend Points 36948

Vous n'avez peut-être pas les autorisations nécessaires pour vous connecter au service. Avez-vous des privilèges d'administrateur sur le bureau ? De nombreuses entreprises ne l'autorisent pas par défaut, soi-disant pour aider à sécuriser leur environnement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X