Vsjitdebugger.exe(Visual Studio Debugger) - показывает партии в моем диспетчере задач на рабочем сервере

У меня есть веб-сайт .net, который работает на IIS. Раз в несколько дней я смотрю на диспетчер задач, и у меня есть 10-15 процессов vsjitdebugger.exe. Каждый из них связывает некоторые соединения, поэтому он вызывает проблемы с пулом db, если я не зашел вручную и не закончил процесс.

В какой-то момент в этом окне была установлена ​​Visual Studio, хотя с тех пор она была удалена. Мне интересно, если это причина, по которой отладчик пытается начать, когда возникает ошибка.

Однако, что я хочу знать, как мне заставить IIS прекратить попытки запуска отладчика при возникновении ошибки? Есть ли в любом случае, что он может просто продолжать жизнь, не пытаясь отлаживать?

Я также задаюсь вопросом, может ли способ развертывания приложения (как отлаживаемое приложение с PDB вместо версии выпуска) сделать разницу? Или даже если отладка включена в файле web.config?

Ответ 1

Похоже, машина настроена на автоматический запуск отладчика, если в процессе происходит необработанное исключение. Вы не хотите этого на рабочем сервере, но скорее всего хотите, чтобы он завершил процесс. Это поведение контролируется ключом DbgManagedDebugger в реестре. Вот документация для этого ключа

Ответ 2

Возможно, у вас все еще есть настройки отладчика. Вы можете проверить ценность своего HKLM\Software\Microsoft\Windows NT\CurrentVersion\AEDebuger\Debugger и ключей HKLM\Software\Microsoft.NETFramework\DbgManagedDebugger. Это ключи, на которые ОС смотрит, когда возникает необработанное исключение (он запустит все эти ключи).

Ответ 3

Иногда разработчик помещает строку кода в Debugger.Launch() и забывает удалить ее. Это заставит диалог JIT сказать: "Исключено" Запуск для пользователя "...". Если вы получаете это сообщение, тогда это жесткий код для запуска отладчика.