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 ?
Réponses
Trop de publicités?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.
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.