пара вопросов по SEH

Тема в разделе "WASM.BEGINNERS", создана пользователем abu, 4 янв 2012.

  1. abu

    abu New Member

    Публикаций:
    0
    Регистрация:
    27 дек 2011
    Сообщения:
    11
    1.
    Сколько можно зарегить своих обработчиков(просто может так получаться что обработчик новый будет устанавливаться дублироваться в подпрограмме и как это скажется), обработчик тот же самый но по коду будет регится несколько раз , это я понимаю не гуд просто вопрос - что из этого выйдет.
    2.
    Я зарегил в начеле кода свой обработчик, сразу после его реги вызываю ситуацию, она норм обрабатывается им и код норм отрабатывает. Но вот если я не вызваю сразу после него
    исклю ситуацию прога вобще не работает. Че за хня такая?
    если убрать div eax прога вообще не работает

    пример
    Код (Text):
    1.     call seh1
    2.     seh1:
    3.     pop ebp
    4.     sub ebp,offset seh1
    5.     LEA EDI, [EBP+seh2]
    6.     push      edi
    7.         push      fs:[00000]
    8.         mov       fs:[00000],esp
    9.  
    10.  
    11. mov eax,0h
    12. div eax
    13. seh2:
    3. После обработки моим обработчиком устанавливается стандартный,(наверно нет)
    И вообще зачем при реге своего указывать сохранять предыдущий?
     
  2. sysexit

    sysexit New Member

    Публикаций:
    0
    Регистрация:
    27 авг 2010
    Сообщения:
    176
    1. Ограничено памятью, подумайте логически.
    2. Дайте лучше готовый ехе, для дебага.
    3. Потому что SEH это двусвязный список, и цепочку нужно сохранять в целостности
     
  3. Malfoy

    Malfoy New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2012
    Сообщения:
    698
    1. Сколько угодно.
    2. Сех фрейм не сформирован.
    3. Хм %, он устанавливается до вызова вашего сех и выполнения вашего кода.
    Незачем.
     
  4. sysexit

    sysexit New Member

    Публикаций:
    0
    Регистрация:
    27 авг 2010
    Сообщения:
    176
    Malfoy

    Смотря какая задача, есть где нужно сохранять, есть где не нужно, но в большинстве случаев, если понимаешь что где и как, то сохранять не нужно, но думаю это не для случая ТС.
     
  5. Malfoy

    Malfoy New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2012
    Сообщения:
    698
    ТС не нужен следующий фрейм, он и спрашивает нафига его сохранять. Конечно за это руки нужно отпилить, но для уровня тс его решение сгодится.
     
  6. abu

    abu New Member

    Публикаций:
    0
    Регистрация:
    27 дек 2011
    Сообщения:
    11
    гы гы
    я его вообще то сохраняю) (push fs:[00000]) это что по вашему

    но фигли то от этого? Ну не будет messagebox с ошибкой че страшного?)))
     
  7. Malfoy

    Malfoy New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2012
    Сообщения:
    698
    abu
    Ссылка на фрейм и фрейм это совершенно разные вещи, гыгы :lol:
     
  8. abu

    abu New Member

    Публикаций:
    0
    Регистрация:
    27 дек 2011
    Сообщения:
    11
    Я о том что сам фрейм системный у мня сохраняется и в цепочке становится просто вторым, вы ведь не видите в коде что я его удалил? ( я с полным уважением просто не надо иронизировать)гы
    третий вопрос стати , я имел ввиду после того как я установлю свой фрейм в цепочке первым после того как прога при ошибке обратится к нему, после второй ошибки в проге или третьей мой фрейм так и будет все обрабатывать? В сех цепочке все останется по прежнему пока я сам его не удалю?