Сейчас на форуме: hgdagon, asfa, bartolomeo (+6 невидимых)

 eXeL@B —› Программирование —› PageFault
Посл.ответ Сообщение


Ранг: 66.1 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 07 июля 2006 19:09
· Личное сообщение · #1

Кто-нибудь знает, как из драйвера получить адрес, по которому произошел PageFault. Его обработчик я уже сделал, теперь думаю, как получить адрес.



Ранг: 22.5 (новичок)
Активность: 0.010
Статус: Участник

Создано: 07 июля 2006 20:02
· Личное сообщение · #2

интересно, как ты сделал обработчик PF не зная про CR2



Ранг: 186.8 (ветеран)
Активность: 0.040
Статус: Участник

Создано: 08 июля 2006 14:36
· Личное сообщение · #3

Перехвати 0Dh-e прерывание и в обработчике по адресу [esp+1Ch] вроде будет лежать нужный адрес. Такая шняга реализовывалась, есть кое-какие подводные камни, если будут вопросы - пиши.




Ранг: 66.1 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 10 июля 2006 12:16
· Личное сообщение · #4

PageFault - это 0x0E прерывание. И адрес там лежит по адресу [esp+08h]. Спасибо, уже нашел


 eXeL@B —› Программирование —› PageFault
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати