我可以使用windbg作为Windows服务的事后调试器吗?

时间:2012-12-10 09:33:39

标签: windows windows-services windbg postmortem-debugging

我将Windbg设置为默认的事后调试器。我是通过运行windbg -I来做到这一点的。但是,这似乎只能从我登录的用户运行的应用程序中捕获未处理的异常,而不是Windows服务。有谁知道我怎么能配置windbg来捕捉它们呢?

3 个答案:

答案 0 :(得分:4)

如果您计划从执行开始时调试服务应用程序(包括其初始化代码),则需要执行此准备步骤。 http://msdn.microsoft.com/en-us/library/windows/hardware/ff553427(v=vs.85).aspx

答案 1 :(得分:2)

当WinDbg作为事后调试程序运行时,它将由崩溃的进程启动。在服务的情况下,它由在会话0中运行的进程启动,并且无法访问桌面。

您可以配置AeDebug注册表以启动创建故障转储并调试故障转储的进程。您可以使用ntsd -server并连接到服务器。

答案 2 :(得分:1)

您应该可以使用WinDbg附加或启动任何服务,即使是那些非由用户运行的服务:http://support.microsoft.com/kb/824344