Отладчик MSVC непрерывно останавливает исполнение для SEHC++

Программы на C++. Форум разработчиков
Anonymous
Отладчик MSVC непрерывно останавливает исполнение для SEH

Сообщение Anonymous »

У меня есть функция isptrReadable , которая использует SEH для проверки неверных указателей.

Код: Выделить всё

bool DXHR::IsPtrReadable(void* pointer) {

__try {

volatile char test = *(char*)pointer;

return true;

}
__except (GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION ? EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SEARCH) {

return false;

}

}
Я ожидаю, что isptrReadable в конечном итоге встретить nullptr и недопустимые указатели. Вот почему у меня есть это внутри блока SEH. Проблема в том, что при отладке мое приложение MSVC останавливает выполнение каждый раз, когда это происходит. Что является неприятностью, потому что меня не интересует, когда это происходит в этой конкретной функции. Но я бы хотел, чтобы он все еще остановился и показал мне, какую строку нарушение доступа происходит на вне этой функции.
Как я могу это достичь?

Подробнее здесь: https://stackoverflow.com/questions/795 ... on-for-seh

Вернуться в «C++»