如何完全禁用VS的即时调试?

Posted

技术标签:

【中文标题】如何完全禁用VS的即时调试?【英文标题】:How to disable VS's just-in-time debugging completely? 【发布时间】:2012-03-05 06:26:00 【问题描述】:

我为什么要这样做?

首先,我从不使用它——饶了我吧,这听起来很无知,但我不感兴趣。我的调试归结为 printif 语句。我这样做已经有一段时间了,对改变它的工作方式没有兴趣。

其次,很多程序在安装 Visual Studio 之前都可以正常工作,而在实时调试开始时,它突然停止工作。

第三,它使我的一些旧程序(不是我自己的,而是我使用的程序)在连接第二个屏幕的地方崩溃。不知道为什么会这样。

有没有办法完全关闭它?

我已在 Visual Studio 的选项中禁用它,但它仍然出现错误

未处理的 win32 异常...即时调试此异常失败并出现以下错误:没有安装的调试器启用即时调试。在 Visual Studio 中,可以从 ...

启用 Just-In-Time

检查文档索引以获取 ...

(所以一般来说,它告诉我它没有打开)

如何在不卸载 Visual Studio 的情况下完全禁用它?

【问题讨论】:

更改 AeDebug 注册表项。 查看这里***.com/a/21980503/314373 【参考方案1】:

这样做的方法是从菜单中选择“调试”>“不调试就开始(Ctrl+F5)”,而不是“调试”>“开始(F5)”。

执行此操作时,您可能还希望在发布模式下构建代码 - 因为如果您不打算调试它们,调试构建对您没有任何好处。

【讨论】:

我在“从 VS 内部”调试时没有问题,但是在运行程序时甚至没有运行 VS。然后程序往往会崩溃,并且即时启动。我自己的程序需要VS,但我不希望其他程序因此而崩溃。在同一台机器上(有两个相同的用于测试目的),没有安装 VS,一切运行良好......【参考方案2】:

Windows 程序启动调试器的问题实际上并不是 Visual Studio 中的更改之一,而是受到控制 JIT 的 Windows 更改的影响。您可以在发布模式下构建所有代码,但通常只需要没有调试弹出窗口。这在这篇文章http://msdn.microsoft.com/en-us/library/k8kf6y2a(v=vs.80).aspx中有描述。

你需要发出命令:

reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\Windows Error Reporting" /f /v "Disabled" /t REG_DWORD /d 00000001
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\Windows Error Reporting" /f /v "DontShowUI" /t REG_DWORD /d 00000001

此时您可以在不调用调试器的情况下运行程序。我在批处理文件中执行此操作:

for /f "delims=" %%a in ('where reg 2^>nul') do @set theValue=%%a 
if NOT "%theValue%."=="." GOTO :HaveReg
:: Might not have where - check again
for /f "delims=" %%a in ('reg /? 2^>nul') do @set theValue=%%a 
if NOT "%theValue%."=="." GOTO :HaveReg
echo Unable to change registry keys to turn off program pop-ups
GOTO :DoneRegCheck
:HaveReg
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\Windows Error Reporting" /f /v "Disabled" /t REG_DWORD /d 00000001
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\Windows Error Reporting" /f /v "DontShowUI" /t REG_DWORD /d 00000001
:DoneRegCheck

【讨论】:

以上是关于如何完全禁用VS的即时调试?的主要内容,如果未能解决你的问题,请参考以下文章

VS2017无法调试

VS2013调试时如何加载dll

VS2013无法启动IIS调试,被拒绝访问

VS2015 只要调试时就卡死无响应,只能结束任务,怎么办求解

vs2010无法调试JS,求解答。

我用的vs2010 调试很慢