Просмотр полной версии : Write Watch в памяти выделеной CreateFileMapping/MapViewOfFile
Пытаюсь задействовать Write Watch на память выделенную CreateFileMapping/MapViewOfFile (Shared memory)
Если бы пользовался VirtualAlloc, использовал бы MEM_WRITE_WATCH флаг.
Но в моем случае это не подходит
Помогите пожалуйста.
Hiro Protagonist
05.10.2009, 07:47
какбэ MMF совсем другой механизм, неподдерживающий write watch.
Да, я понимаю, но тем не менее хочу это как то осуществить. Пусть это называется не write watch а как то по другому. Мне нужно знать приблизительно какие районы выделенной памяти были изменены.
http://forum.antichat.ru/showthread.php?p=1496972#post1496972
вот по мотивам этого можешь. на регион - PAGE_EXECUTE_READ
KiUserExceptionDispatcher)(IN PEXCEPTION_RECORD ExceptionRecord, IN PCONTEXT ContextFrame);
ловишь STATUS_ACCESS_VIOLATION
в контексте фрейма и записи все что надо есть
правда там адрес который выдал исключение
Спасибо!
Однако, ну поймал, а дальше что?
Записаться то оно должно, а кроме того, может ведь одной страницей и не ограничиться.
Отключить protection?
Тогда как узнаю где оно остановилось?
Hiro Protagonist
06.10.2009, 00:21
дык строй таблицу по страницам региона. И при перехвате исключения взводи флаг соответствующий. Для оптимизации лучше снимать =\ но пипец какже это будет медленно всё ... кривое имхо решение, лучше пересматривай алго свой, чтобы уйти от этого =\
"... правда там адрес который выдал исключение ..."
и что? на x86 страницы одинаковые + мы знаем imagebase MMF + даже если бы не знали, гранулярность какбэ есть ^______^
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot