VLD>>Попробуй установить свой фильтр необработанных исключений через SetUnhandledExceptionFilter VLD>(это если на все и вся сразу, чтобы вообще не падала)
Попробовал, но почему-то вызов циклится. Использую следующий код:
B>>Большое спасибо! Попробовал: B>>__try / __except работает (ага!), но try/catch нет.
VLD>У меня(VS .NET и VS6 на WinXP) — catch (...) все вроде бы ловит.
Это я виноват — я компилирую из командной строки, и у меня не был указан ключ /EHa — обработка C++ исключений. С ним все отлично работает!
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Здравствуйте, 0xVLD, Вы писали:
VLD>Потому что выполнение продолжается с той же самой инструкции. VLD>При EXCEPTION_CONTINUE_EXECUTION надо что-то делать для устранения ошибки, либо написать код, чтобы возобновлять выполнение со следующей инструкции.
А это вообще реально написать? Как?
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Здравствуйте, Basil2, Вы писали:
B>Здравствуйте, 0xVLD, Вы писали:
VLD>>Потому что выполнение продолжается с той же самой инструкции. VLD>>При EXCEPTION_CONTINUE_EXECUTION надо что-то делать для устранения ошибки, либо написать код, чтобы возобновлять выполнение со следующей инструкции.
B>А это вообще реально написать? Как?
Можно все в отдельных потоках запускать и завершать поток при возникновении исключения, при необходимости запускать новый.
Можно попытаться изменить информацию об исключении. Скажем, адрес инструкции в которой возникло исключение.
Здравствуйте, 0xVLD, Вы писали:
VLD>>>Потому что выполнение продолжается с той же самой инструкции. VLD>>>При EXCEPTION_CONTINUE_EXECUTION надо что-то делать для устранения ошибки, либо написать код, чтобы возобновлять выполнение со следующей инструкции.
VLD>Можно попытаться изменить информацию об исключении. Скажем, адрес инструкции в которой возникло исключение.
А как это (хоть приблизительно) делается? Как я узнаю, на сколько байтов надо сдвинуть указатель вперед? (размер сбойной команды)
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.