我在Windows服务中使用Microsoft Log Parser。该程序工作在一个普通的网页,但是当我把代码放入Windows服务中时,它不起作用。我在Windows服务中放入了Breakponts,但是当我运行代码时,程序不会停在断点处。因此,通过我的故障排除,我将问题缩小到Log Parser软件和Linq。所以无论是Linq还是日志解析器软件都会造成这个问题。你们有什么想法吗?什么是在Visual Studio 2008中调试Windows服务程序的最佳方法
5
A
回答
2
根据程序的运行方式,我在过去做了很多这样的事情。我认为最简单的方法是在Debugger.Launch()周围配置一个if #DEBUG预处理器指令,这样当您构建项目时,Debugger.Launch()调用将不会被编译到程序集中。
我们完成此任务的一种方法是使用System.Windows.Forms.MessageBox.Show(“attach”),它允许我们在显示“attach”对话框时手动连接到调试器。
我不喜欢的最后一种方法是根据传入的命令行参数更改服务的行为。基本上选择不使用ServiceBase.Run启动服务,只要特定参数被触发,但调用类它封装了服务的行为/主要功能。
5
您需要将调试器直接附加到Windows服务。这可能会帮助你:http://msdn.microsoft.com/en-us/library/7a50syb3%28VS.80%29.aspx。
2
你想调试OnStart方法吗?如果是这样,您可以使用System.Diagnostics.Debugger.Launch()
或System.Diagnostics.Debugger.Break()
方法在on start方法运行时获得附加调试器的机会,否则,您总是会迟到并附加调试器。
2
我认为胖猫建议将调试器附加到服务过程听起来是对的。如果仍然不起作用,请尝试使用Debug.WriteLine和DebugView。
相关问题
- 1. 在Visual Studio中调试程序的最佳方式是什么?
- 2. 最佳Visual Studio 2008调试教程?
- 3. 在Visual Studio中编写独立程序的最佳方法是什么?
- 4. 什么是调试android程序的最佳方法?
- 5. 调试Shoes应用程序的最佳方法是什么?
- 6. 什么是在Visual Studio 2008中测试代码片段的最快方法?
- 7. 无法在Visual Studio 2008中调试Web服务项目
- 8. 在Visual Studio 2008中导航Silverlight XAML的最佳方式是什么?
- 9. 什么是在Visual Studio 2008/2010代码中书签位置的最佳方式?
- 10. 测试服务器版本的最佳方法是什么?
- 11. 从azure sql调用Web服务的最佳方法是什么?
- 12. 什么是记录信息或调试Windows服务的最简单方法?
- 13. Windows服务和配置应用程序在Visual Studio中的最佳实践
- 14. 在eclipse中调试Mojarra和Primefaces的最佳方法是什么?
- 15. 在Visual Studio中调试和测试微型过滤器驱动程序的最简单方法是什么?
- 16. 什么是Visual Studio 2008解决方案中的最佳项目数量?
- 17. 在Android中创建服务的最佳方法是什么?
- 18. Visual Studio 2008调试器条中的这个图标是什么?
- 19. 在Windows上调试ODBC驱动程序的最佳方法
- 20. 无法在Visual Studio 2012中调试Windows服务
- 21. 在.NET中注册现有Windows服务的最佳方法是什么?
- 22. 什么是在Visual C#中遵循的最佳调试策略?
- 23. 测试Cassandra应用程序的最佳方法是什么?
- 24. Visual Studio 2008调试
- 25. 什么是远程控制/调试.NET应用程序的最佳方法?
- 26. 在Visual Studio 2010中测试移动网站的最佳方式是什么?
- 27. 使用Visual Studio 2008管理经典asp前端的最佳方式是什么?
- 28. 使用Visual Studio 2008远程调试Web应用程序的服务器端
- 29. 在Visual Studio中检查缩小的JavaScript文件的最佳方法是什么?
- 30. 调试Windows CGI的最佳方法
重申最后一点 - 我相信你也可以检查'Environment.UserInteractive'。 –