如何禁用即时调试消息?

时间:2013-12-12 17:35:40

标签: debugging windows-server-2008

在Windows Server 2008 R2的一个相对较新的安装中,偶尔会有关于即时调试的弹出消息。例如,当搜索机器人访问asp页面时,这些可能出现在w3wp.exe中。这些消息是本地Windows弹出窗口,而不是浏览器。

然而,我无法调试“及时”,因为服务器上没有任何调试器。微软很友好地告诉我,当我点击调试时,我没有VS2010许可证进行调试。这使得弹出消息非常无用,特别是因为它们不包含真实信息,导致错误的信息通常在日志中。

根据this linkthis SO question,我禁用了AeDebug \ Debugger键,并且DbgManagedDebugger键不存在。这对错误消息没有影响。

如何禁用这些Just-in-time调试弹出消息?

enter image description here

3 个答案:

答案 0 :(得分:5)

它绝对是AeDebug \ Debugger键,听起来你没有正确“禁用”它或忽略了32位版本的密钥。

从c:\ windows \ syswow64和system32目录中删除vsjitdebugger.exe也应删除该对话框。这是显示此对话框的程序,在AeDebug键中引用。

另请考虑卸载Visual Studio,因为您没有使用它。

答案 1 :(得分:4)

执行这些PowerShell语句以禁用JIT调试器:

Remove-itemproperty -Path "HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug" -Name "Debugger"
Remove-itemproperty -Path "HKLM:SOFTWARE\Microsoft\.NETFramework" -Name "DbgManagedDebugger"
Remove-itemproperty -Path "HKLM:SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug" -Name "Debugger"
Remove-itemproperty -Path "HKLM:SOFTWARE\Wow6432Node\Microsoft\.NETFramework" -Name "DbgManagedDebugger" 

答案 2 :(得分:0)

更精确的解决方案是通过将其从调试列表中排除,来禁用单个进程的调试。

例如,如果您的情况是禁用IIS应用程序的调试,则应将进程名称(w3wp.exe)添加到键HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\Currentersion\AeDebug\AutoExclusionList

New-ItemProperty -Path "HKLM:SOFTWARE\Wow6432Node\Microsoft\Windows NT\Currentersion\AeDebug\AutoExclusionList" -Name "w3wp.exe" -Value "1" -PropertyType DWORD

(基于https://docs.microsoft.com/pl-pl/windows/desktop/Debug/configuring-automatic-debugging

相关问题