Scott Hanselman
How to turn off/disable the .NET JIT Debugging Dialog
A day may come when you want to turn off the Debug dialog that appears when a .NET program has an unhandled exception.
Option 1: Registry key from Enabling JIT Debugging
- If value = 0, prompt the user by means of a message box. The choices are:
- Continue. This results in a stack dump and process termination.
- Attach a debugger. In this case, the runtime spawns the debugger listed in the DbgManagedDebugger registry key. If none, control is returned, and the process is terminated.
Option 2: If you want to disable the JIT debug dialog, but still want an error dialog:
Visual Studio.NET|Tools|Options|Debugging|Just-In-Time and deselect «Common Language Runtime» and now you’ll get an OK/Cancel dialog instead of the select a Debugger Dialog. Note: The registry entry from Option 1 above will need to be 0 for the dialog to show up.
Thanks to Eric Deslauriers of Corillian QA for these tips!
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
Hosting By
Как остановить сообщения «Just In Time Debugging», блокирующие buildserver
наш buildserver (TeamCity, очень рекомендуется) запускает целую кучу тестов на нашей готовой программе c++.
один раз в целом тест вызывает сбой нашей программы, часто вызывая диалог VisualStudio, предлагающий мне justintime отладить сбой. Диалог останавливает продвижение buildserver. Вместо сборки, отмеченной как failed, она просто зависает. Я отключил функцию отладки Just In Time в VisualStudio, но когда она отключена, вы все равно получаете сообщение «не удалось Justintime отладить это, вы можете включить его в настройках».
кто-нибудь знает способ гарантировать, что любое необработанное исключение в программе не приведет к модальному диалогу?
5 ответов
-
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger
-
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\DbgManagedDebugger
-
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger
-
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\DbgManagedDebugger
удалить (или переименовать) c:\windows\system32\vsjitdebugger.исполняемый.
Я попытался удалить ключи реестра, и я попытался снять все флажки в параметрах Visual Studio, но ни один из них не работал.
чтобы быть ясным, моя ситуация не была C++. Я использовал Micro Focus COBOL для Visual Studio 2010, и с помощью предложений реестра и параметров VS мне удалось избавиться от «хотите отлаживать?»диалог, но это привело к другому диалогу, чтобы задержать мой автоматический процесс:
Visual Studio Just-In-Time Debugger
необработанное исключение (‘COBOL runtime: обнаружена ошибка’) произошло в CASDBC.exe [3564]. Отладка Just-In-Time это исключение завершилось со следующей ошибкой: не установлен отладчик только в режиме отладки. В Visual Studio, Просто-В-Время отладка может быть включена из Tools/Options/Debugging / Just-In-Time.
Проверьте индекс документации для » Just-in-time отладки, ошибки для подробная информация.
в моем случае, на сервере win2012, я попробовал:
- удаление ключей реестра
- удаление exe для отладчика jit из c:\windows\system32
и он все-таки подошел!
Я перезагрузился и т. д. Делал мой веб-сайт в IIS stall, пока диалог не был подтвержден!
окончательное решение, которое действительно работало: в панели управления, в программах: удален «Microsoft Visual Studion 2010 Shell (Isolated)» удалил это, и проблема разрешенный.
(работает ли среда SQL Management Studio. Я не знаю!)
в окне для вопроса
вы хотите отлаживать с помощью выбранного отладчика?
клик да (откроется в новом окне) > опции (Меню верхнего ряда)> DEBUG
затем в новом окне удалить ТИК который показывает ВКЛЮЧИТЬ КАК РАЗ ВОВРЕМЯ ОТЛАДЧИК. После отключения как раз вовремя отладчик закройте окно или нажмите OK Ваш проблема будет решена. Я пробовал это и избавился от КАК РАЗ ВОВРЕМЯ ВСПЛЫВАЮТ сообщения.
лучшее решение этой проблемы настолько просто 2 шага, чтобы сделать это откройте командную строку введите : regedit перейдите к пути—>HKEY_LOCAL_MACHINE—>программное обеспечение—>Microsoft—>Windows NT—>CurrentVersion—>AeDebug Теперь вы можете найти файл : отладчик щелкните правой кнопкой мыши , изменить скопируйте и вставьте этот текст в нем:
Отключение JIT-отладки
Диалоговое окно JIT-отладки может открываться при возникновении ошибок в используемом приложении, препятствуя его работе.
JIT-отладчик позволяет быстро запустить Visual Studio для устранения ошибки. Для просмотра подробных сведений об ошибке или попытки отладки нужно установить среду Visual Studio или другой отладчик.
Если вы уже являетесь пользователем Visual Studio и после возникновения ошибки намерены выполнить отладку с помощью JIT-отладчика, перейдите к этой статье. Если вам не удается исправить ошибку или вы хотите запретить открытие JIT-отладчика, вы можете отключить JIT-отладку из Visual Studio.
Если набор средств Visual Studio был ранее установлен, но теперь его нет, придется нужно будет JIT-отладку через реестр Windows.
Если набор средств Visual Studio не установлен, для отключения JIT-отладки можно отключить отладку скриптов или отладку на стороне сервера.
Если вы пытаетесь запустить веб-приложение, отключите отладку скриптов.
Для этого откройте раздел Панель управления Windows > Сети и Интернет > Свойства обозревателя, а затем выберите элементы Отключить отладку скриптов (Internet Explorer) и Отключить отладку скриптов (другие) . Конкретные действия и параметры зависят от используемых версий Windows и браузера.
Если вы размещаете веб-приложение ASP.NET в IIS, отключите отладку на стороне сервера, выполнив следующие действия:
- В режиме просмотра компонентов диспетчера IIS в разделе ASP.NET дважды щелкните Компиляция .NET или выберите этот элемент и щелкните команду Открыть компонент в области Действия.
- В разделе Поведение > Отладка выберите значение False. В более ранних версиях IIS используется другой процесс.
Возможно, отключение JIT-отладки позволит приложению преодолеть ошибку и работать нормально.
Если необработанная ошибка в приложении сохранится, может отобразиться сообщение об ошибке либо приложение может перестать отвечать или аварийно завершить работу. В этом случае нормальная работа приложения будет невозможна без исправления ошибки. Попробуйте связаться с теми, кто отвечает за это приложение, и попросить исправить ошибку.