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