UnhandledExceptionFilter пропускает исключения
От: mPronin  
Дата: 12.02.08 10:55
Оценка:
Прокомментируйте плиз.

long __stdcall filter(_EXCEPTION_POINTERS* ExceptionInfo)
{
    dump(0, MiniDumpWithDataSegs);
    return EXCEPTION_CONTINUE_SEARCH;
}

int _tmain(int argc, _TCHAR* argv[])
{
    SetUnhandledExceptionFilter(filter);
    crash();
}

//1
void crash()
{
    std::vector<char> tmp(10000000000);
}
//2
void crash()
{
    int tmp = 0;
    tmp = 10 / tmp;
}
//3
void crash()
{
    std::vector<char> tmp;
    tmp[10] = 0;
}

В 1-ом и 2-ом случае вызывается мой фильтр, который создает дамп. В третьем случае дамп не создается. Причины? Какая разница между исключением в 1-ом случае и в 3-ем? Как бы сделать так, что бы управление моему фильтру передавалось всегда?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.