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

时间:2009-11-16 20:02:20

标签: c# visual-studio

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

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

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

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

3 个答案:

答案 0 :(得分:11)

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

答案 1 :(得分:6)

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

答案 2 :(得分:0)

有时开发人员会将一行代码放入Debugger.Launch()并忘记删除它。这将强制JIT对话框说:“发生了'用户启动'的异常......”。如果您收到该消息,则启动调试器是一个硬编码语句。