Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] "Развешать" Айсом зависшую систему 16.06.02 13:04
Автор: Zef <Alloo Zef> Статус: Elderman
|
ексепшен в VXD. Система вываливается в Сайс. Exit в ядре не действует, а перезагружаться нельзя - инфа ценная грохнется. Че делать?
Непонятная совершенно деталь: после ексепшна при попытке чтения из пустой страницы нажимаю ctrl+D и... падаю в новый эксепшн по обращению к несуществующей странице кода! Причем, всегда! Судя по всему, обработчик исключения портит стек, причем пытается возвратиться по испорченному адресу. (Без Айса в этом месте возникает "перманентная синька" или "черный экран" после синьки.)
В чем дело? Почему это нельзя обработать корректно? Например: пропустить команду, вызвавшую страничное нарушение и перейти к следующей или терминировать вызвавший нарушение тред?
Если я при первом вылете в Айс не нажимаю ctrl+D, а просто устанавливаю EIP на POP...POP RETв конце процедуры, то все пролазит, а если нажму - попадаю черт-те-куда.
Кто подскажет, в чем тут дело?
Что, кроме поиска адреса возврата в стеке можно еще предпринять в этой ситуяйции?
|
|
|