我可以使用windbg作为Windows服务的验尸debugging器吗?

我将Windbg设置为默认的死后debugging器。 我通过运行windbg -I我做到了这一点。 但是,这似乎只捕获我login的用户运行的应用程序的未处理exception,而不是Windows服务。 有谁知道我怎么可以configurationwindbg来抓这些呢?

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

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

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

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