简体   繁体   English

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

[英]vsjitdebugger.exe (Visual Studio Debugger) - shows up lots in my task manager in production server

I've got a .net web site which runs on IIS. 我有一个在IIS上运行的.net网站。 Once every few days I look at the task manager and I've got 10-15 vsjitdebugger.exe processes open. 每隔几天我就会看一下任务管理器,我打开了10-15个vsjitdebugger.exe进程。 Each one ties up some connections so it causes problems with the db pool unless I manually go in and end the process. 每个连接都会占用一些连接,因此除非我手动进入并结束进程,否则会导致数据库池出现问题。

At one point, Visual Studio was installed on this box, though it's since been uninstalled. 有一次,Visual Studio安装在这个盒子上,虽然它已被卸载。 I'm wondering if this is the reason the debugger tries to start when an error occurs. 我想知道这是否是调试器在发生错误时尝试启动的原因。

However, what I want to know is how do I get IIS to stop attempting to launch the debugger when an error happens? 但是,我想知道的是,当错误发生时,如何让IIS停止尝试启动调试器? Is there anyway that it can simply go on with life without trying to debug? 无论如何,它可以简单地继续生活而不试图调试?

I also wonder, could the way the app is deployed (as a debugged app with the PDB's instead of a release version) make a difference? 我也想知道,应用程序的部署方式(作为PDB而不是发布版本的调试应用程序)会有所不同吗? Or even having debugging turned on in the web.config? 甚至在web.config中打开调试?

It sounds like the machine is configured to automatically run the debugger if an unhandled exception occurs in the process. 听起来机器配置为在进程中发生未处理的异常时自动运行调试器。 You don't want this in a production server but instead likely want it to terminate the process. 您不希望在生产服务器中使用它,而是希望它终止该过程。 This behavior is controlled by the DbgManagedDebugger key in the registry. 此行为由注册表中的DbgManagedDebugger键控制。 Here is the documentation for that key 这是该密钥的文档

It could be that you still have the debugger regkeys set. 可能是您仍然设置了调试器regkeys。 Can you check the value of your HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion\\AEDebuger\\Debugger and the HKLM\\Software\\Microsoft.NETFramework\\DbgManagedDebugger keys. 你能检查你的HKLM \\ Software \\ Microsoft \\ Windows NT \\ CurrentVersion \\ AEDebuger \\ Debugger和HKLM \\ Software \\ Microsoft.NETFramework \\ DbgManagedDebugger键的值。 These are the keys that the OS looks at when an unhandled exception occurs (it will launch whatever these keys are set to). 这些是操作系统在发生未处理的异常时所看到的键(它将启动这些键被设置为的任何内容)。

Sometimes a developer puts in a line of code to Debugger.Launch() and forgets to remove it. 有时开发人员会将一行代码放入Debugger.Launch()并忘记删除它。 That will force the JIT dialog to say, "An exception 'Launch for user' has occurred ...". 这将强制JIT对话框说:“发生了'用户启动'的异常......”。 If you are getting that message then it's a hardcoded statement to launch the debugger. 如果您收到该消息,那么它是启动调试器的硬编码语句。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使用C#执行vsjitdebugger.exe - How to execute vsjitdebugger.exe using c# 在c#“ C:\\\\ WINDOWS \\\\ system32 \\\\ vsjitdebugger.exe -p%ld -e%ld -g%ld \\”中的此命令是什么 - what is this command in c# “C:\\WINDOWS\\system32\\vsjitdebugger.exe -p %ld -e %ld -g %ld\” 在Visual Studio中停止两者之间的调试时,Chromedriver.exe在任务管理器中保持打开状态 - Chromedriver.exe remains open in task manager when stopping the debugging in between in Visual Studio' 任务并行库占用生产服务器上的大量空间 - Task Parallel Library consuming lots of space on production server 在Visual Studio中将调试器上移 - Move debugger up the stack in Visual Studio Visual Studio 2010-应用程序无法通过asp.NET开发服务器启动,但可以在生产服务器上运行 - Visual Studio 2010 - Application not starting up through asp.NET Development Server but works on the Production Server Visual Studio调试器显示错误的值(null应该有值) - Visual Studio debugger shows wrong value (null where there should be a value) 为什么 RuntimeMethodInfo.Invoke 没有出现在我的 Visual Studio 调试器调用堆栈上? - Why doesn't RuntimeMethodInfo.Invoke show up on my Visual Studio debugger callstack? Visual Studio - 项目显示为“杂项文件” - Visual Studio - project shows up as "Miscellaneous Files" 为什么Visual Studio调试器显示int的十六进制值很长? - Why does Visual Studio debugger shows a long hex value for an int?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM