【发布时间】:2011-07-06 14:23:06
【问题描述】:
我阅读了有关该主题的 MSDN 文章。引用:
因为服务必须从 在服务范围内 控制管理中心而不是来自 在 Visual Studio 中,调试一个 服务没有那么简单 调试其他 Visual Studio 应用类型。要调试服务, 您必须启动该服务,然后 将调试器附加到进程中 它正在运行。然后你可以 使用所有调试您的应用程序 标准调试功能 Visual Studio 的。
现在我的问题是我的服务一开始就无法启动。首先它崩溃了,然后说:
未处理的异常 (System.Runtime.InteropServices.COMException) 发生在 MyServiceName.exe[3596])
并建议我调试它(当我选择一个时,调试器实例会立即崩溃)。然后它说
无法启动 MyServiceName 本地计算机上的服务。错误 1053:服务没有响应 中的启动或控制请求 及时的时尚
那么,我该如何调查/调试我的服务无法启动的原因?问题是我创建了一个控制台应用程序,该应用程序完全符合服务的功能并且工作正常。 (我的意思是我刚刚将OnStart() 方法和主循环的内容复制到了main)。
任何帮助将不胜感激。
服务是用 C# 编写的,大量使用互操作。我正在使用 VS2008
【问题讨论】:
-
您查看了事件查看器吗?
-
你能发布你的 OnStart() 方法的源代码吗?
-
这可能会有所帮助(取决于服务类型):codeproject.com/KB/dotnet/DebugWinServices.aspx
-
@Rick:这是一个巨大的项目, OnStart 调用了一些调用其他方法的方法等。我不能发布它。但我必须提一下,使用 VS2003 编译和安装时,具有相同代码的相同服务运行良好
-
@DumbCoder:我刚刚做到了。谢谢。不错的实用程序。但我没有发现任何有趣的东西。我跟踪了事件 ID,并按照建议检查了服务的返回码,它是 0...所以它没有告诉我任何信息
标签: c# c++ debugging windows-services