Как остановить сообщения "Just In Time Debugging", блокирующие сервер сборки

Наш buildserver (TeamCity, очень рекомендуется), запускает целую кучу тестов в нашей готовой программе на С++.

В целом тест приводит к сбою нашей программы, что часто приводит к появлению диалогового окна VisualStudio, предлагающего мне отладку JustInTime сбой. Диалоговое окно перестает работать с сервером buildserver. Вместо сборки, помеченной как неудачная, она просто зависает. Я отключил функцию отладки Just In Time в VisualStudio, но когда она отключена, вы все равно получаете сообщение "Не удалось JustinTime Debug this, вы можете включить его в настройках".

Кто-нибудь знает, как обеспечить, чтобы любое необработанное исключение в программе не приводило к изменению модального диалога?

5 ответов

В этой статье MSDN объясняется, как отключить отладку Just-In-Time на сервере Windows. Я включил соответствующую часть статьи ниже:

После того, как Visual Studio установлена ​​на сервере, поведение по умолчанию при необработанном исключение - это показать диалоговое окно "Исключение", которое требует вмешательства пользователя либо запускать Just-In-Time отладку или игнорировать исключение. Это может быть нежелательным для без присмотра. Чтобы настроить сервер, чтобы больше не показывать диалог, когда возникает необработанное исключение (поведение по умолчанию перед установкой Visual Studio), используйте редактор реестра для удаления следующих разделов реестра:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\DbgManagedDebugger

В 64-разрядной операционной системе также удалите следующие ключи реестра:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger

  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\DbgManagedDebugger


Удалить (или переименовать) c:\windows\system32\vsjitdebugger.exe.

Я попытался удалить разделы реестра, и я попытался снять флажки со всеми полями в параметрах Visual Studio, но не работал.

Чтобы быть ясным, моя ситуация не была С++. Я использовал Micro Focus COBOL для Visual Studio 2010, и, используя варианты настроек реестра и VS, мне удалось избавиться от "Хотите отлаживать"? диалог, но это привело к другому диалогу, чтобы задержать мой автоматический процесс:

Отладчик Visual Studio Just-In-Time

В CASDBC.exe [3564] произошло необработанное исключение ( "COBOL runtime: Fault detected" ). Отладка "Just-In-Time" это исключение произошло со следующей ошибкой: Нет установленного отладчика включена функция отладки Just-In-Time. В Visual Studio, Just-In-Time отладка может быть включена с помощью инструментов/параметров/отладки/просто-вовремя.

Проверьте индекс документации для "своевременной отладки, ошибки" для Дополнительная информация.

OK


В окне для вопроса

Вы хотите отлаживать с помощью выбранного отладчика?

Нажмите YES (откроется новое окно) > OPTIONS (меню верхней строки) > DEBUG

Затем в новом окне удалите TICK, который показывает ENABLE JUST IN TIME DEBUGGER. После отключения отладчика JUST IN TIME закройте окно или нажмите OK. Ваша проблема будет решена. Я пробовал это и избавился от сообщений JUST IN TIME POP UP.


В моем случае на сервере win2012 я попытался:

  • удаление разделов реестра
  • удаление exe для jit-отладчика c:\windows\system32

и он все еще придумал!

Я перезагрузился и т.д. Делал мой веб-сайт в режиме ожидания IIS до тех пор, пока не будет подтвержден диалог!

Окончательное решение, которое действительно работало: на панели управления, в программах: удалена "оболочка Microsoft Visual Studion 2010 (изолированная)". Удалено, и проблема решена.

(Является ли SQL Management Studio все еще работает... я не знаю!)


Лучшее решение для этой проблемы настолько простое 2 шага, чтобы сделать это открыть приглашение cmd Тип: regedit перейти к пути → HKEY_LOCAL_MACHINE → ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ → Microsoft → Windows NT → CurrentVersion → AeDebug Вы можете найти файл: Debugger щелкните правой кнопкой мыши, измените скопируйте и вставьте этот текст внутри него:

drwtsn32 -p% ld -e% ld -g

нажмите ok и voila:)

licensed under cc by-sa 3.0 with attribution.