Я работал со старым приложением Win32, которое использует OCI (Oracle Call Interface) для подключения к базе данных Oracle. Приложение вызывает SetUnhandledExceptionFilter()
для обнаружения (среди прочего) нарушений доступа (код исключения 0xC0000005).
Однако, как только приложение входит в Oracle с помощью функции OCI orlon()
, уже установленный фильтр исключений переопределяется библиотекой OCI, что означает, что исключения больше не перехватываются фильтром, установленным первоначально приложением. Это было проверено как с помощью отладчика, так и путем проверки значения указателя функции установленного фильтра исключений.
Кто-нибудь знает, почему функция OCI orlon()
вызывает SetUnhandledExceptionFilter()
и как отключить это поведение?