【问题标题】:VSJitDebugger operation attempted is not supported on Windows 8 / Windows Server 2012Windows 8 / Windows Server 2012 不支持尝试的 VSJitDebugger 操作
【发布时间】:2012-08-13 18:43:39
【问题描述】:

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

在以前的 Windows 版本中,这可以正常工作,启动一个显示 Visual Studio 调试对话框的窗口。

这是 Windows8/Windows Server 2012 中的一个新的重大变化吗?

【问题讨论】:

  • connect.microsoft.com 上未报告,如果这是一个普遍问题,现在应该已经出现了。在那里提交错误报告,您需要让他们有更好的机会重现问题,否则他们会迅速解决问题。

标签: visual-studio windbg


【解决方案1】:

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

Just-In-Time debugging, operation attempted is not supported

来自下面的评论:

只需将 HKCR\AppID\{E62A7A31-6025-408E-87F6-81AEB0DC9347}\AppIDFlag0x28 更改为 0x8

【讨论】:

  • 谢谢,为我工作!简而言之,只需将 HKCR\AppID\{E62A7A31-6025-408E-87F6-81AEB0DC9347}\AppIDFlag 从 0x28 更改为 0x8 即可。
  • 我无法让它工作,首先链接不再工作,我在 Connect 中找不到相应的项目,假设它是公开的。另外,我没有那个注册表标志(AppIDFlag)。但是即使添加它并将值设置为8,仍然无法调试我的服务。
【解决方案2】:

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

这是从 Windows Vista 开始的 Session 0 隔离工作的一部分。

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

对于注册表项 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows,将“NoInteractiveServices”值设置为 0,即(在 Windows 8 中)默认为 1。这允许您手动启动有助于在会话中向您显示可视对话框的服务“Interactive Services Detection”(ui0detect)。如果不设置此键,ui0detect 服务将无法启动,并出现“Function not supported”等错误。

net start ui0detect

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

【讨论】:

  • 在 RTM 版本上试过这个,但没有用。仍然收到相同的错误:“不支持尝试的操作。”。
  • 这不适用于Image File Execution Options Debugger = vsjitdebbuger.exe 事件日志只是说Just-In-Time debugging this exception failed with the following error: The operation attempted is not supported.
猜你喜欢
  • 2015-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-25
  • 2021-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多