У меня большая программа MFC. У нас есть редкие ситуации, когда клиент получает CMemoryException
.
Проблема в том, что мы получаем исключение, а не местоположение, в котором было сгенерировано исключение.
Я могу перехватить IAT (Импорт таблицы адресов), но в этой ситуации я могу только обнаружить вызовы, сделанные из моего приложения в MFC DLL или из других DLL в MFC DLL.
Как перехватить все вызовы AfxThrowMemoryException
? Поэтому все вызовы из MFC DLL также могут быть перехвачены мной.
На самом деле я не знаю внутреннего адреса функции, которую хочу перехватить. Хорошо, я могу использовать IAT и вычислить внутренний адрес.
Я знаю обходные пути, но я не хотел бы также доставлять его с моим программным обеспечением ..
Или есть какой-то более простой способрэп операция throw внутри кода C ++?
Лучше всего было бы, чтобы я мог перехватить любое исключение до того, как оно будет сгенерировано. Так что я вижу код звонящего.