Windows 8/Windows Server 2012不支持尝试VSJitDebugger操作

hal*_*ton 8 windbg visual-studio

我们有在某些条件下添加Debugger.Launch()和Debugger.Break()的代码,这个功能在Windows 8/Windows Server 2012中似乎不起作用

在以前版本的Windows中,这工作得很好,启动了一个窗口,显示Visual Studio Debug对话框.

这是Windows8/Windows Server 2012中的一个新的突破性变化吗?

小智 6

有一个包含microsoft connect的开放票证,其中包含此问题的临时解决方法.

http://connect.microsoft.com/VisualStudio/feedback/details/770786/just-in-time-debugging-operation-attempted-is-not-supported

  • 谢谢,为我工作!简而言之,只需将HKCR\AppID\{E62A7A31-6025-408E-87F6-81AEB0DC9347}\AppIDFlag从0x28更改为0x8. (2认同)

小智 3

这确实是Windows 8中的一个变化。我还找不到任何公开文档(尽管Win8还没有发货给客户)。不过,我会要求相关团队中的人员酌情在 MSDN 上提供此信息。

这是 Windows Vista 中开始的会话 0 隔离工作的一部分。

要返回 Win7/2008R2 设置,您需要执行以下操作:

对于注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows,将“ NoInteractiveServices ”值设置为0,(在 Windows 8 中)默认为 1。这允许您手动启动有助于在会话中向您提供可视化对话框的服务“交互式服务检测”(用户界面0检测)。如果不设置此键,ui0Detect 服务将无法启动,并出现“功能不支持”等错误。

net start ui0detect
Run Code Online (Sandbox Code Playgroud)

当然,您可以选择让该服务随 Windows 自动启动,并且始终能够调试会话 0 进程。

  • 在 RTM 版本上尝试过此操作,但没有成功。仍然收到相同的错误:“不支持尝试的操作。”。 (3认同)