2009-12-16 56 views
2

我有一个windows服务,它在Init()方法中失败并抛出一些异常,因此我只能通过查看事件日志来检查错误。我想调试Windows服务,但问题是我只能在调用服务时附加调试器,在我的情况下,它仅在Init()方法中失败。任何想法 ?如何在Init()方法中调试失败的windows服务

回答

3

可以编程调试器附加在函数的第一行:

using System.Diagnostics; 
+0

谢谢,这有帮助。 – 2009-12-16 12:23:36

0

可能是您可以使用崩溃转储DebugDiag资料或获得:

Debugger.Launch(); 

添加使用后声明WinDbg的。

是您的服务C++或C#。

也许这只是第一次机会异常,并不是真的崩溃。你能提供有关失败的更多信息吗?

1

我通常所做的就是创建一个带有static void Main()入口点的类,然后我可以在项目属性中暂时分配该入口点。从那里,我调用了应用程序作为服务运行时调用的相同的启动函数。