Пытаюсь задействовать Write Watch на память выделенную CreateFileMapping/MapViewOfFile (Shared memory) Если бы пользовался VirtualAlloc, использовал бы MEM_WRITE_WATCH флаг. Но в моем случае это не подходит Помогите пожалуйста.
Да, я понимаю, но тем не менее хочу это как то осуществить. Пусть это называется не write watch а как то по другому. Мне нужно знать приблизительно какие районы выделенной памяти были изменены.
/showthread.php?p=1496972#post1496972 вот по мотивам этого можешь. на регион - PAGE_EXECUTE_READ KiUserExceptionDispatcher)(IN PEXCEPTION_RECORD ExceptionRecord, IN PCONTEXT ContextFrame); ловишь STATUS_ACCESS_VIOLATION в контексте фрейма и записи все что надо есть
Спасибо! Однако, ну поймал, а дальше что? Записаться то оно должно, а кроме того, может ведь одной страницей и не ограничиться. Отключить protection? Тогда как узнаю где оно остановилось?
дык строй таблицу по страницам региона. И при перехвате исключения взводи флаг соответствующий. Для оптимизации лучше снимать =\ но пипец какже это будет медленно всё ... кривое имхо решение, лучше пересматривай алго свой, чтобы уйти от этого =\ "... правда там адрес который выдал исключение ..." и что? на x86 страницы одинаковые + мы знаем imagebase MMF + даже если бы не знали, гранулярность какбэ есть ^______^