【发布时间】:2009-12-16 12:13:12
【问题描述】:
我有一个 Windows 服务在 Init() 方法中失败并抛出一些异常,所以我只能通过查看事件日志来检查错误是什么。我想调试 Windows 服务,但问题是我只能在服务运行时附加调试器,在我的情况下,它仅在 Init() 方法中失败。有什么想法吗?
【问题讨论】:
标签: debugging windows-services service
我有一个 Windows 服务在 Init() 方法中失败并抛出一些异常,所以我只能通过查看事件日志来检查错误是什么。我想调试 Windows 服务,但问题是我只能在服务运行时附加调试器,在我的情况下,它仅在 Init() 方法中失败。有什么想法吗?
【问题讨论】:
标签: debugging windows-services service
您可以以编程方式将调试器附加到函数的第一行:
Debugger.Launch ();
添加 using 语句后:
using System.Diagnostics;
【讨论】:
我通常做的是有一个带有static void Main() 入口点的类,然后我可以在项目属性中临时分配它。从那里,我调用应用程序作为服务运行时调用的相同启动函数。
【讨论】:
您可能可以使用 DebugDiag 或 windbg 获取崩溃转储。
你的服务是 C++ 还是 C#。
也许这只是第一次机会例外,而不是真正的崩溃。您能否提供有关失败的更多信息。
【讨论】: