windows server 2008 -在会话0中运行的进程没有弹出JIT调试窗口



我在一台寡妇服务器2008 r2机器上设置了我的开发环境。问题是,每当在会话0中运行的进程崩溃时,我绝对不会收到任何通知。没有Windows错误报告,没有visual studio jit调试提示。如果一个常规的应用程序崩溃,然后我得到jit调试弹出,并能够连接调试器很好。会发生什么呢?

在W2K8会话0中,服务运行时没有UI(非交互式)。因此,你永远不会得到一个弹出窗口。解决这个问题的一种方法是将AEDebug regkey设置为将ntsd或cdb附加到远程调试中,例如ntsd.exe -server tcp:port=50000:54999 -p %ld -e %ld -g -noio。然后,当某些东西崩溃时,您将看到ntsd.exe进程在taskmgr中运行,您可以附加到它(您需要使用cdb并查询哪些端口为调试打开)。这可以很容易地封装在某种守护进程或服务中,它会持续监视新的调试会话,并自动为您弹出cdb。

然后,您可以扩展此模式以启动任意的日志记录进程,而不是ntsd。只要确保进程在正确的权限下运行,并且没有UI。

最新更新