Точки останова в режиме релиза удобны для работы. Самый простой способ заставить это работать - это вызвать функцию с именем release_mode_breakpoint()
в вашем коде. Затем определите эту функцию следующим образом:
#pragma optimize("", off)
void release_mode_breakpoint()
{
int put_breakpoint_here = 1;
}
#pragma optimize("", on)
Затем вы можете поместить точку останова в эту строку объявления int, и она будет достигнута даже в режиме выпуска. Затем просто увеличьте стек в отладчике до функции, в которой вы на самом деле хотели установить точку останова.
На самом деле не оставляйте этот код в окончательном выпуске, поскольку неоптимизированная строка может помешать компилятору должным образом оптимизировать вызывающий код.