如何禁用Visual Studio调试器?

时间:2011-04-14 19:04:45

标签: visual-studio-2010

不要厌烦你,我要简短地说长话。两台机器,相同的系统,相同的程序(大多数)。一个安装了Visual Studio,一个安装了......呃,其他的。

有时当我尝试从一个CD安装应用程序时,会弹出Visual Studio的即时调试程序,报告“未处理的win32异常...”并询问我是否要使用“新实例”进行调试Microsoft VIsual Studio 2010“。如果我选择Yes,它会运行VS,如果我选择No,它会关闭它,我回到Windows资源管理器中。

哪个会好的,除了我知道应用程序完全没问题,这样我就无法安装它(在这个最新的演员阵容中,它是我银行的客户,用于网上银行和支付账单等)。

那么,我该如何摆脱那件事(即时调试器)?

我不想卸载VS,因为我每天都在使用它。


编辑1 ::我尝试在VS的Tools / Options / Debugging / Just-In-Time中禁用即时调试,然后取消选中所有三个复选标记,但这只是在尝试运行可执行安装程序时出现了另一个错误

autorun.exe [某个号码]中发生未处理的win32异常。即时调试此异常失败,并显示以下错误:未安装的调试器启用了即时调试。在Visual Studio中,可以从...

启用即时调试

查看文档索引“即时调试,错误”以获取更多信息

非常有用:/


编辑2 ::应用程序在没有安装VS的其他计算机上运行正常。在很大程度上,两台机器上的软件是相同的,只有一些细微差别(从图像安装系统)。微小差异:notepad2,++,git,......一些由开发者自己选择的小东西。

我不希望这听起来像对VS的咆哮,因为我意识到它正在采取这种语气,但我极端不喜欢不是自包含的软件并且混淆了其他软件。我之前也遇到过与其他应用程序相同的问题。所以现在,我责备VS.

如果有必要,我愿意禁止所有类型的调试以永久地工作(大多数情况下使用打印语句),如果这会有所帮助。如果可能的话。

7 个答案:

答案 0 :(得分:31)

我今天在Visual Studio 2013中遇到了这个问题。这个MSDN article: Just-In-Time Debugging in Visual Studio对我有用。就我而言,我只需将Debugger重命名为Debugger_del,将DbgManagedDebugger重命名为DbgManagedDebugger_del

  

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

     
      
  1. 开始菜单上,搜索并运行regedit.exe

  2.   
  3. 注册表编辑器窗口中,找到并删除以下注册表项:

         
        
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger
    •   
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\DbgManagedDebugger
    •   
  4.   
  5. 如果您的计算机运行的是64位操作系统,请删除以下注册表项:

         
        
    • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger

    •   
    • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\DbgManagedDebugger

    •   
  6.   
  7. 注意不要意外删除或更改任何其他注册表项。
  8.   
  9. 关闭注册编辑器窗口。
  10.   

答案 1 :(得分:15)

启用或禁用即时调试

您可以从“选项”对话框中启用或禁用即时调试。 启用或禁用即时调试

  • 工具 菜单上,点击 选项
  • 选项对话框 中,选择 调试 文件夹。
  • 调试 文件夹中,选择 即时页面
  • 启用即时调试这些类型的代码 框中,选择或清除相关的程序类型: 托管,原生或脚本
  • 要禁用即时调试,启用后,您必须以管理员权限运行。启用实时调试会设置注册表项,并且需要管理员权限才能更改该项。
  • 点击 确定

答案 2 :(得分:5)

我正在添加此响应,即使这是一个老话题,因为我刚刚度过了这个问题的大部分时间并最终解决了它。我发现的每个解决方案都专注于在Visual Studio中禁用或关闭JIT调试,从注册表中删除键或更改IE脚本调试设置。但是,如果您没有VS的注册副本,则会出现问题。当然,许多解决方案以不同的方式工作,但是你会得到上面的错误“没有安装的调试器启用了及时的调试”,这似乎没有人给出答案。但是,答案不是禁用JIT,而是停止应用程序中的服务器端调试。除非你真的想要进行服务器端调试,否则没有必要打开它。

现在对我来说完全正确,因为我在ASP中打开了服务器端调试。在安装VS之前,它没有任何区别,因为没有分配调试器来处理错误,因此它们被发送到浏览器。一旦我安装了VS,JIT就接管并做了山雀应该做的事情。

所以快速回答,打开IIS,点击默认站点或你的站点,在你的应用程序设置中,ASP在我的情况下,关闭服务器端调试!!

这可能不是每个人的答案,甚至不是上述问题的解决方案,但希望它能够提供更多洞察力来解决这个问题并帮助其他人。

答案 3 :(得分:1)

如果您在两台计算机上运行相同的软件并且它正在崩溃(这是调试器启动时发生的情况)那么您的计算机上可能还有其他问题。可能是您遇到了驱动程序不兼容问题,或者您在计算机上安装的某些其他软件具有不兼容的dll版本...

你需要尝试消除尽可能多的差异(说起来容易做起来难,我知道)......如果你将CD的内容复制到本地磁盘上,这有帮助吗?如果在安装软件时关闭病毒检查程序有帮助吗?如果关闭网络会有帮助吗?您已经说过两台机器“大部分”都是相同的软件,如果卸载一些差异会发生什么?两台机器都被修补到同一级别吗?

由于Visual Studio在遇到问题时尝试启动,请查看调用堆栈并查看加载了哪些dll,将其打印出来...运行一些在该计算机上崩溃的其他软件并执行同样的事情......寻找任何常见的库并在机器之间进行比较,看看它们是否具有相同版本的库......

当然也可能是因为这是一个硬件问题(我之前已经出现过间歇性故障,因为我的一个驱动器已经准备好发生故障而其他驱动器因为我的图形芯片运行得太热了)...

正如我所说,不是一个真正的答案,而是需要考虑的一些事情......

如果所有其他方法都失败了......你可能会卡在另一台计算机上做你的账单(虽然另一个实验可能是在破碎的电脑上创建一个VPC以查看它是否有效)...

答案 4 :(得分:1)

关于HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AeDebug和SOFTWARE \ WOW6432Node \ Microsoft中的键,我只能将Auto值从1更改为0并且它可以正常工作。

REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug" /v Auto /d 0
REG ADD "HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug" /v Auto /d 0

答案 5 :(得分:0)

右键单击Project - Properties。选择“Web”选项卡。在Debuggers下,选中'Silverlight'(在已经检查的ASP.NET旁边)。

现在,visual studio不会调试你的javascript,因为幸运的是它无法同时调试Silverlight和javascript。您现在可以将javascript附加到浏览器调试器。

答案 6 :(得分:-1)

当我启动pdf viewer时出现此问题。我在其他文件夹(comp中的另一张光盘)中重新安装了这个程序,在我的情况下它可以工作。