【问题标题】:JIT Debugging popup not coming up for processes running in session 0会话 0 中运行的进程未出现 JIT 调试弹出窗口
【发布时间】:2011-04-13 22:38:24
【问题描述】:

我在 widows server 2008 r2 机器上设置了我的开发环境。问题是,每当会话 0 中运行的进程崩溃时,我绝对不会收到任何通知。没有 Windows 错误报告,没有 Visual Studio jit 调试提示。如果常规应用程序崩溃,那么我会得到 jit 调试弹出窗口,并且能够很好地附加调试器。会发生什么?

【问题讨论】:

    标签: debugging windows-server-2008 jit


    【解决方案1】:

    在 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。

    【讨论】:

      猜你喜欢
      • 2016-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-28
      • 2011-02-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多