Типичная ситуация. Еслть программа в теле которой очень много самопальных assert-ов ( ну например, MY_ASSERT )
Вид MY_ASSERT примерно такой
#define MY_ASSERT(X) { \
if (!(X)) { ... cerr<<"fuck!"<<endl; cerr.flush(); exit(code); ... } \
}
Иногда возникает задача посмотреть отладчиком причину возникновения assert-а, поковырятся в стеке и т.д. Однако после вызова exit(...) уже ничего этого не остается.
ВОПРОС:
как ПРАВИЛЬНО ( понятно что можно делать через "div by zero" и "seg fault" ) делать остановку программы, чтобы сохранился стек вызовов процедур и можно было посмотреть прогу отладчиком в момент срабатывания assert ?