Я должен отлаживать модульные тесты (мы используем UnitTestPP) в C++ (в частности, используя VS 2015), и я хочу отключить утверждения для определенных разделов кода, для которых мы добровольно делаем тестируемый код генерировать исключения, что, в свою очередь, делает некоторые утверждения терпят неудачу, поэтому я не всегда нажимаю «игнорировать» каждый раз, когда появляется всплывающее окно «утверждение не удалось».
Я не хочу полностью отключать утверждения, поскольку они все еще могут быть полезны для сигнализации о проблемных случаях в коде.
Я знаю о #define NDEBUG, но он не работает. Я думаю, это потому, что модульные тесты находятся в другом проекте/DLL.
Кроме того, неудачное утверждение - это ATLASSERT, я не знаю, меняет ли это что-то.
ATLASSERT
— это продукт Microsoft, и он задокументирован Microsoft. Часто полезно взглянуть на документацию чего-либо, когда возникает вопрос, какие функциональные возможности у этого чего-то есть. - person Cheers and hth. - Alf   schedule 18.02.2017ATLASSERT
(и тем самым найти способы его отключения), у вас есть все необходимые инструменты. Если вы обнаружите, что его нельзя отключить во время выполнения, вы можете использовать WinEvents для отслеживания создания диалогов и использования Автоматизация пользовательского интерфейса, чтобы отклонить ее, где это необходимо. - person IInspectable   schedule 18.02.2017