Среда выполнения Microsoft Visual Studio C++ — отключить утверждение отладки из консоли

Для MS Visual Studio C++ Runtime есть ли способ отключить диалоговое окно утверждения Windows с помощью переменной среды или каким-либо другим неинвазивным внешним способом? То есть сделать это без перекомпиляции. Это решение или этот указывает правильное направление использования _CrtSetReportMode, но это требует пересборки программы, и я могу' не делай этого.

Есть ли переменная среды или что-то, что я могу установить, чтобы дочерние процессы просто завершались с соответствующим кодом ошибки? Я не хочу отключать это для всех программ, только для этой (поэтому переменная окружения была бы уместной), но если глобальная настройка или что-то в этом роде — это все, что я могу получить, пусть будет так.

Может быть, есть лучший подход более высокого уровня, который позволяет избежать проблемы? У меня есть программа тестирования, которая выполняет программу на нескольких входах. Дочерняя программа может время от времени утверждать, и я просто хочу записать результат и продолжить.


person Tim    schedule 29.03.2019    source источник
comment
Вы должны пересобрать программу, вы не можете отправлять что-либо, созданное с конфигурацией отладки. Да и тестировать его совершенно бессмысленно, неоптимизированный код такими недостатками не страдает. Свяжитесь с тем, кто предоставил вам исполняемый код, и попросите правильную сборку.   -  person Hans Passant    schedule 29.03.2019
comment
Вы философски правы. Этот проект неправильно использует намерение утверждений. Их используют там, где более уместен ненулевой выход с диагностикой. Это очень расстраивает. В худшем случае я могу временно изменить источник, но я надеялся на какую-то внешнюю настройку.   -  person Tim    schedule 29.03.2019