Если код не должен быть потокобезопасным, и если вы хотите игнорировать утверждения «навсегда» в том смысле, что они будут игнорироваться после первого раза каждый раз программа выполняется, и не навсегда в том смысле, что вы игнорируете его в первый раз, и после этого он никогда не запускается снова для всех программных запусков, а затем просто комбинирует проверочный тест со статическим bool, для которого по умолчанию установлено значение false .
void someFunc(...)
{
...
static bool bFireAssertion( false );
ASSERT( bFireAssertion || <your assertion test> );
...
}
затем, когда вы хотите, чтобы он прекратил запуск, установите bFireAssertion в true из отладчика. Так как это всегда будет верно, ASSERT будет закорачивать и больше не оценивать ваш тест.