【发布时间】:2012-12-10 09:33:38
【问题描述】:
我将 Windbg 设置为默认的事后调试器。我通过运行windbg -I 做到了这一点。但是,这似乎只能从我登录的用户运行的应用程序中捕获未处理的异常,而不是 Windows 服务。有谁知道我如何配置 windbg 来捕捉这些?
【问题讨论】:
标签: windows windows-services windbg postmortem-debugging
我将 Windbg 设置为默认的事后调试器。我通过运行windbg -I 做到了这一点。但是,这似乎只能从我登录的用户运行的应用程序中捕获未处理的异常,而不是 Windows 服务。有谁知道我如何配置 windbg 来捕捉这些?
【问题讨论】:
标签: windows windows-services windbg postmortem-debugging
如果您计划从服务应用程序的执行开始就对其进行调试,包括其初始化代码,则需要此准备步骤。 http://msdn.microsoft.com/en-us/library/windows/hardware/ff553427(v=vs.85).aspx
【讨论】:
当 WinDbg 作为事后调试器运行时,它由崩溃的进程启动。如果是服务,它由会话 0 中运行的进程启动,并且无法访问桌面。
您可以配置 AeDebug 注册表以启动创建故障转储的进程并调试故障转储。您可以使用 ntsd -server 并连接到服务器。
【讨论】:
您应该能够使用 WinDbg 附加或启动任何服务,即使那些不是由用户运行的服务:http://support.microsoft.com/kb/824344
【讨论】: