Сейчас на форуме: vasilevradislav, rmn, Magister Yoda (+7 невидимых) |
![]() |
eXeL@B —› Программирование —› Поделитесь структурой PEXCEPTION_POINTERS переписанной под VB |
Посл.ответ | Сообщение |
|
Создано: 30 июня 2008 14:12 · Поправил: daFix · Личное сообщение · #1 Порылся в инете, не нашёл... ADD: Опишу ситуацию подробнее. Мне надо узнать по какому адресу сгенерилось исключение в моей программе. Устанавливаю свой обработчик с помощью SetUnhandledExceptionFilter и генерирую исключение фейковой функцией с int3 в начале. Нам надо узнать по какому адресу оно произошло. И можно ещё поподробнее о параметрах SetUnhandledExceptionFilter и нашей функции которую мы ей передаём в качаестве нового обработчика ----- Research For Food ![]() |
|
Создано: 30 июня 2008 18:25 · Личное сообщение · #2 |
|
Создано: 09 июля 2008 14:17 · Личное сообщение · #3 Можете натолкнуть меня на мысль почему эта фигня не работает? Исходник прилагаю. Пароль - мой ник ![]() ----- Research For Food ![]() |
|
Создано: 09 июля 2008 21:24 · Личное сообщение · #4 |
|
Создано: 09 июля 2008 22:24 · Личное сообщение · #5 mushr00m Обработчик то вызывается, но вот структуры заполнены криво. Посмотри на адрес исключения, он уходит в системные библиотеки, хотя должен быть в пределах нашего кода. При обработке исключения я восстанавливаю байт начала функции, но обдаботчик при завершении работы не возращает управление обратно туда где произошло исключение. Наверное какая-то хрень со стёком ----- Research For Food ![]() |
|
Создано: 11 июля 2008 11:21 · Поправил: S_T_A_S_ · Личное сообщение · #6 0x77c1807c - это msvcrt.dll!__CxxUnhandledExceptionFilter Откуда он там взялся, мне не ясно (перекрестных ссылок в msvcrt не видно). Думаю, что VB исключения реализовены поверх C++ EH, и возможно этот адрес как-то заносится в VB фитльтре. Кстати в C++ этот обработчик регистрируется как UnhandledExceptionFilter, что может привести к проблемам с прямым вызовом SetUnhandledExceptionFilter. ![]() |
|
Создано: 11 июля 2008 14:19 · Личное сообщение · #7 |
|
Создано: 13 июля 2008 18:12 · Личное сообщение · #8 |
|
Создано: 13 июля 2008 21:39 · Личное сообщение · #9 |
![]() |
eXeL@B —› Программирование —› Поделитесь структурой PEXCEPTION_POINTERS переписанной под VB |