我们有在某些条件下添加Debugger.Launch()和Debugger.Break()的代码,此功能在Windows 8 / Windows Server 2012中似乎不起作用
在以前版本的Windows中,这工作得很好,启动了一个显示Visual Studio Debug对话框的窗口。
这是Windows8 / Windows Server 2012中的新变化吗?
答案 0 :(得分:6)
有一个包含microsoft connect的开放票证,其中包含此问题的临时解决方法。
答案 1 :(得分:3)
这确实是Windows 8的变化。我找不到任何公共文档(虽然Win8尚未发送给客户)。但是,我会请相关团队的某个人在MSDN上提供此信息。
这是在Windows Vista中启动的Session 0隔离工作的一部分。
要返回Win7 / 2008R2设置,您需要执行以下操作:
对于注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows
,将“ NoInteractiveServices ”值设置为 0 ,这是(在Windows 8中)默认为1.这允许您手动启动便于在会话中为您提供可视对话的服务,“交互式服务检测”( ui0detect )。如果不设置此密钥,ui0detect服务将无法以“不支持的功能”等错误启动。
net start ui0detect
当然,您可以选择使用Windows自动启动此服务,并始终启动以调试会话0进程。