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

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

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

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

5 ответов


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

после установки Visual Studio на сервере поведение по умолчанию при необработанном исключение происходит, чтобы показать диалоговое окно исключения, которое требует вмешательства пользователя либо начните отладку точно в срок, либо проигнорируйте исключение. Это может быть нежелательно для Работа без присмотра. Формировать сервер, чтобы больше не показывать диалог, когда возникает необработанное исключение (поведение по умолчанию перед установкой 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.исполняемый.

Я попытался удалить ключи реестра, и я попытался снять все флажки в параметрах 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 отладки, ошибки для подробная информация.

OK


в моем случае, на сервере 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 Теперь вы можете найти файл : отладчик щелкните правой кнопкой мыши , изменить скопируйте и вставьте этот текст в нем:

drwtsn32-p %ld-e %ld-g

нажмите ok и вуаля:)