RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Следующий шаг. Немного конкретики.


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : LightElf
To : Василий А. Сидоров
Subj : Следующий шаг. Немного конкретики.

> > > Во-вторых - ты собрался делать "data probe"?
> > > Компилятор переписывать не замаешься? :)
> > А зачем его переписывать? И data probe не нужен. Ставишь свой exception handler и в нем уже разруливаешь поведение. Проверяешь в случае guard page exception по какому адресу трабла и принимаешь решение соответственное. Либо память подкоммичиваешь, либо нитку отстреливаешь - по обстоятельствам.
> Т.е. пишешь собственный VMM. Маленький :)

Брр. А ты чего хотел? Еще раз - guard page можно использовать для отлавливания выхода за границу массива.
Не обязательно стека, а любого массива. Это фича. Хочешь пользуй - не хочешь не пользуй. Хочешь - перехватывай exception. Не хочешь - не перехватывай и система молча прибьет прогу. Хочешь - вообще не пользуй guard page. Вольному воля.

> > > Вот и я удивляюсь - зачем защитная страница?
> > > Так никто и не объяснил.
> > Поищи в доках, что-то где-то было на эту тему.
> Было. Про защиту от переполнения стека.

Ну и чего? Разумная предосторожность. Не хочешь - не пользуй, коммить стек целиком. Фича в общем.


Sat 23 Jun 2007 20:27 Mozilla/5.0 (OS/2; U; Warp 4.5; en-US; rv:1.3) Gecko/2003031




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.