我正在开发一个应用程序来安装&作为Windows服务运行。它仍然是错误的并且意外停止(在Windows事件日志中也没有留下任何内容)当我尝试再次启动它时我得到了错误
Windows无法在本地计算机上启动{name of service}服务。 错误1067:进程意外终止。
我重新启动了计算机(Server 2008 R2;虚拟机,如果有所作为),没有帮助。卸载并重新安装我的服务,仍然出现错误!
需要清除/刷新机器上的某些,以便它再次尝试启动服务。我不想重建整个虚拟机,但我没有想法。
更新
我忘了提到这个Windows服务 - 完全相同的代码&安装 - 正在运行在其他3台计算机上运行而不上述错误。在OnStart()中放入调试器仍然听起来像是通过的方式。
答案 0 :(得分:9)
如果您有权访问代码,则可以在Debugger.Break
方法的第一行添加方法OnStart
。
一旦你“闯入”应用程序,就会调查抛出异常的位置。
答案 1 :(得分:1)
您可以将调试器附加到正在运行的服务。详情请见Debug Windows Service Applications。
幸运的是,您可以轻松地复制问题。您可以使用代码安装.NET Studio来调试问题。
另一种技术是将服务变成常规应用。您知道可疑代码是在启动期间。因此,只需在启动功能中使用代码创建应用程序,然后从那里开始调试。
祝你好运,Tommy Kwee