如何禁用即时调试器?

时间:2014-01-09 18:55:13

标签: sql-server visual-studio-2010 iis

刚刚配置了一台运行IIS和Server 2012以及SQL Server 2012的新服务器。我还安装了SQL Server Management Studio工具,这样我就可以快速检查数据库而无需打开远程连接。

当我远程浏览ASP.NET站点时,除黄色屏幕外还遇到错误时,我会得到一个即时debgugger异常对话框。除非我RDP并手动关闭所有对话框,否则对话框将保持在服务器上并堆积起来。

禁用此功能的唯一方法是使用控制面板删除Visual Studio Shell 2010(集成)。副作用是我不能再使用SSMS了。

大多数可用的解决方案已过时或无效。注册表设置不再适用,大多数有关此问题的文章都是旧的。微软的官方文档是破坏链接的老鼠窝。此外,许多用户都在混淆IE的脚本调试对话框。虽然它们相关且相似,但这个特定问题与Visual Studio的运行时环境有关。

有什么想法吗?

ASIDE:我无法相信Microsoft在生产服务器上安装的产品上具有此“功能”。我只是被一家价值数十亿美元的公司无能为力。至少自2005年以来,我已经看到了我的问题,没有正式的解决方案可行。我只需要最后一次问健全检查。我想确保我不是那个头脑中“厚重”的人。

4 个答案:

答案 0 :(得分:5)

通过编辑注册表来禁用实时调试

在“开始”菜单中,单击“运行”。 在“运行”对话框中,键入regedit,然后单击“确定”。 在“注册表编辑器”窗口中,找到并删除以下注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\DbgManagedDebugger

如果您的计算机运行的是64位操作系统,请同时删除以下注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\WindowsNT\CurrentVersion\AeDebug\Debugger
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\DbgManagedDebugger

注意不要意外删除或更改任何其他注册表项。

除了删除它之外,您还可以(暂时)将AeDebug键重命名为您选择的位数,例如: AeDebug-disable!

答案 1 :(得分:3)

对于server 2012IISSSMS 2014,我们尝试了所有三个注册表三个删除操作,但这些删除无效。

旧学校重命名JIT Debug可执行文件的工作原理。

重命名这些文件。

C:\WINDOWS\system32\vsjitdebugger.exe  
C:\Windows\SysWOW64\vsjitdebugger.exe 

重命名此文件夹

C:\Program Files\Common Files\Microsoft Shared\VS7Debug 

答案 2 :(得分:1)

您应该能够使用Visual Studio中的“调试选项”对话框禁用Jist-In-Time调试。这里也详细记录了注册表项。

请参阅:

除此之外:我认为在生产服务器上安装管理工作室并不明智。这就是管理工作站的用途。可以预先配置和存储来自管理站的远程连接,这样就不需要花费太多精力。这样您就可以保持生产环境的清洁。

答案 3 :(得分:1)

作为nfox's answer的后续行动,我创建了一个您可以轻松使用的注册表文件,而不是通过regedit.exe手动搜索。

1。)将此脚本复制到剪贴板:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug]
"Debugger"=-

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework]
"DbgManagedDebugger"=-

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug]
"Debugger"=-

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework]
"DbgManagedDebugger"=-

2。)将其保存到扩展名为.reg的文件中

E.g。到名为

的文件
C:\Users\<user name>\Desktop\DisableJit.reg

3.。)双击文件

确认出现的消息框后,密钥将被删除。

5.)或者:下载文件

如果需要付出太多努力,可以从这里下载注册表文件:

下载然后双击它。


此提示仅摘自MSDN文章&#34; Just-In-Time Debugging in Visual Studio&#34;。

有关如何通过.reg文件删除注册表项的语法取自MSDN知识库文章&#34; How to add, modify, or delete registry subkeys and values by using a .reg file&#34;。