Re: Проблемы с SetUnhandledExceptionFilter
От: Сергей Мухин Россия  
Дата: 05.08.06 03:13
Оценка:
Здравствуйте, MescalitoPeyot, Вы писали:

MP>Недавно наткнулся на непонятную проблему. В небольших консольных прогах я использую маленькую dll собственного написания которая среди всего прочего ставит обработчик исключений вызывая SetUnhandledExceptionFilter (я это делал и в Dllmain, если код запроса =DLL_PROCESS_ATTACH и в отдельной экспортируемой функции вызывая её из главного модуля — на результат это не влияет). Обработчик выводил в консоль с помощью WriteConsole сообщение и завершал процесс. Однако когда я попробовал использовать свою dll в более сложной программе, где кроме главного модуля и библиотеки с обработчиком есть ещё одна dll, в которой и генерируется исключение, я обнаружил, что WriteConsole возвращается с ошибкой, а последующий вызов GetLastError даёт ERROR_INVALID_HANDLE, хотя хэндл, который я получал в dllmain или в специальной функции


1. все dll/exe консольные?
2. мб консоль не иниц до вызова exe, а искл происходит в dllmain
3. мб установлен другой фильтр, который снимает консоль и вызывает твой
4. у меня в SetUnhandledExceptionFilter сначала пытается вывести в консоль по WriteConsole, если неудача, то WriteFile туда же, если снова не удача, то выдается диалог.

ps
вложений не обнаружено
---
С уважением,
Сергей Мухин
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.