vsjitdebugger.exe(Visual Studio Debugger) - 在生产服务器的任务管理器中显示批次

bug*_*ixr 11 c# visual-studio

我有一个在IIS上运行的.net网站.每隔几天我就会看一下任务管理器,我打开了10-15个vsjitdebugger.exe进程.每个连接都会占用一些连接,因此除非我手动进入并结束进程,否则会导致数据库池出现问题.

有一次,Visual Studio安装在这个盒子上,虽然它已被卸载.我想知道这是否是调试器在发生错误时尝试启动的原因.

但是,我想知道的是,当错误发生时,如何让IIS停止尝试启动调试器?无论如何,它可以简单地继续生活而不试图调试?

我也想知道,应用程序的部署方式(作为PDB而不是发布版本的调试应用程序)会有所不同吗?甚至在web.config中打开调试?

Jar*_*Par 11

听起来机器被配置为在进程中发生未处理的异常时自动运行调试器.您不希望在生产服务器中使用它,而是希望它终止该过程.此行为由注册表中的DbgManagedDebugger键控制.这是该密钥的文档


nit*_*ins 6

可能是您仍然设置了调试器regkeys.您可以检查HKLM\Software\Microsoft\Windows NT\CurrentVersion\AEDebuger\Debugger和HKLM\Software\Microsoft.NETFramework\DbgManagedDebugger键的值.这些是操作系统在发生未处理的异常时所看到的键(它将启动这些键被设置为的任何内容).

  • 我的设置为`“ C:\ WINDOWS \ system32 \ vsjitdebugger.exe” -p%ld -e%ld`和`“ C:\ WINDOWS \ system32 \ vsjitdebugger.exe” PID%d APPDOM%d EXTEXT“%s “ EVTHDL%d`-移除它们解决了此问题,而没有任何明显的副作用 (2认同)