J'utilise Microsoft Log Parser dans un service Windows. Le programme fonctionne dans une page Web normale mais quand je mets le code dans un service de Windows cela ne fonctionne pas. J'ai mis Breakponts dans le service Windows mais quand je cours le code le programme ne s'arrête pas au point d'arrêt. Donc, à travers mon dépannage, j'ai réduit le problème au logiciel Log Parser et Linq. Ainsi, Linq ou le logiciel d'analyse de journaux crée le problème. Est-ce que vous avez une idée?Quelle est la meilleure façon de déboguer un programme de service Windows dans Visual Studio 2008
Répondre
Je l'ai fait de nombreuses façons dans le passé selon le fonctionnement du programme. Je pense que la manière la plus facile est faite avec une directive de préprocesseur if #DEBUG autour du Debugger.Launch() de cette façon quand vous avez construit le projet optimisé l'appel de Debugger.Launch() ne sera pas compilé dans l'assembly. Une façon dont nous avons également fait cette tâche est avec System.Windows.Forms.MessageBox.Show ("attach") qui nous a permis de joindre manuellement au débogueur à chaque fois que la boîte de dialogue "attach" était affichée. La dernière façon que je ne préfère pas est de changer le comportement de votre service basé sur les paramètres de ligne de commande passés. En optant NOT principalement pour démarrer les services en utilisant ServiceBase.Run chaque fois qu'un param particulier a été déclenché, mais en appelant une classe qui encapsule le comportement/la fonction principale du service.
Vous devez attacher votre débogueur directement aux services Windows. Cela pourrait vous aider: http://msdn.microsoft.com/en-us/library/7a50syb3%28VS.80%29.aspx.
Voulez-vous déboguer la méthode OnStart? Si tel est le cas, vous pouvez utiliser la méthode System.Diagnostics.Debugger.Launch()
ou System.Diagnostics.Debugger.Break()
pour avoir une chance d'attacher le débogueur pendant que la méthode on start est en cours, sinon vous devrez toujours attacher le débogueur.
Je pense que la suggestion du chat gras de joindre votre débogueur au processus de service sonne bien. Si cela ne fonctionne toujours pas, essayez d'utiliser Debug.WriteLine et DebugView.
- 1. Quelle est la meilleure façon de déboguer un Oracle SP?
- 2. Quelle est la meilleure façon de déboguer un écrasement explorer.exe?
- 3. Meilleure façon de déboguer un CGI Windows
- 4. Visual Studio 2008 ne serait pas déboguer
- 5. Comment déboguer * Invoke() dans Visual Studio 2008
- 6. Quelle est la meilleure façon de dupliquer fork() dans Windows?
- 7. Quelle est la meilleure façon de faire ce programme Java?
- 8. Quelle est la meilleure façon d'appeler un service Web à partir de Windows Mobile (.NET 3.5)
- 9. Quelle est la meilleure façon d'enregistrer un service Windows existant dans .NET?
- 10. Quelle est la meilleure façon de faire du développement multiplateforme avec Visual Studio?
- 11. Quelle est la meilleure façon d'appeler/démarrer un service Windows toutes les x secondes?
- 12. Quelle est la meilleure façon de créer une liste déroulante dans une application Windows en utilisant Visual Basic?
- 13. Quelle est la meilleure façon d'implémenter un travail planifié à l'aide d'un service Windows?
- 14. Quelle est la meilleure façon de modifier les informations d'identification d'un service Windows en utilisant C#
- 15. Quelle est la meilleure façon pour un VPC d'accéder à des fichiers sur la machine hôte?
- 16. Quelle est la meilleure façon de tester les services WCF?
- 17. Quelle est la meilleure façon d'exposer l'API de mon serveur?
- 18. Bonne façon de déboguer les erreurs Visual Studio Designer
- 19. Meilleure façon de coder Visual Studio comme application de code
- 20. Quelle est la meilleure façon de déboguer des applications de chaussures?
- 21. Quelle est la meilleure façon de structurer un projet?
- 22. quelle est la meilleure façon de marquer un texte?
- 23. Comment déboguer javascript dans firefox via Visual Studio 2008?
- 24. Quelle est la meilleure façon de chiffrer un clob?
- 25. Quelle est la meilleure façon de rafraîchir un indice Nutch?
- 26. Quelle est la meilleure façon de localiser un IEnumerable?
- 27. Quelle est la meilleure façon d'effacer un tableau de chaînes?
- 28. Quelle est la meilleure façon de vider un répertoire?
- 29. Quelle est la meilleure façon de tester contre mon dépôt MVC?
- 30. Quelle est la meilleure façon d'écrire dans un fichier Ruby?
Re le dernier point - je crois que vous pouvez également vérifier 'Environment.UserInteractive' pour ceci. –