Как скрывать crashи приложения от пользователя

Тема в разделе "WASM.WIN32", создана пользователем dockay1, 23 апр 2009.

  1. dockay1

    dockay1 New Member

    Публикаций:
    0
    Регистрация:
    26 мар 2009
    Сообщения:
    8
    Имеется приложение, которое при вызове определенной функции из сторонней библиотеке падает. Исправить падения возможности нет.

    Вопрос в том - как избежать показа окна аварийного завершения пользователю при падении. Те. как сделать так чтобы приложение падало втихую без информарования usera?
    Вариант SetUnhandledExceptionFilter - не помогает, тк. до него дело не доходит.
    Вариант подключать свой отладчик и обрабатывать в нем - не подходит.
     
  2. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Испортить стек потока, в котором возникает исключение.
     
  3. dockay1

    dockay1 New Member

    Публикаций:
    0
    Регистрация:
    26 мар 2009
    Сообщения:
    8
    Нет, валить приложение не надо. Оно и так падает в СТОРОННЕЙ БИБЛИОТЕКЕ. Нужно чтобы пользователь не видел crash окна.
     
  4. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Обработка исключений?
     
  5. djmans

    djmans New Member

    Публикаций:
    0
    Регистрация:
    27 дек 2006
    Сообщения:
    312
    SetErrorMode?
     
  6. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Если нашли место падения, то хучим функцию вызывающую креш и ставим там обработчик исключений.
     
  7. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    VEH. Если и это не подходит, редирект диспетчера исключений на свой обработчик.
     
  8. Velheart

    Velheart New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2008
    Сообщения:
    526
    Можно хукнуть UnhandledExceptionFilter, т.к. окно с аварийным завершением через него вызывается, насколько я помню, и твой обработчик не срабатывает т.к. его обнуляет чужой код(кстати если это не так, мне очень интересно, когда еще возможна такая ситуация), а в нем делать TerminateProcess
     
  9. ohne

    ohne New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2009
    Сообщения:
    431
    dockay1
    KiUserExceptionFilter
     
  10. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    А что SetErrorMode?
     
  11. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    http://files.virustech.org/indy/Teory/Exceptions/
     
  12. dockay1

    dockay1 New Member

    Публикаций:
    0
    Регистрация:
    26 мар 2009
    Сообщения:
    8
    Да, похоже - SetErrorMode - это то, что нам нужно. Будем пробовать.

    Всем спасибо.