Помощь - Поиск - Пользователи - Календарь
Полная версия: Ошибка приложения: Память не может быть "read"
Форум на все случаи жизни > Секреты софта и железа > Компьютерный ликбез
Gerard
Часто, последнее время, при закрытии програм(а иногда и призавершении работы винды) выпадает след. сообщение:
DIEmWIN: Ошибка приложения
Инструкция по адресу " " обратилась к памяти по адресу " ". Память не может быть "read"
Ok Отмена
В принципе, проблем это никаких не доставляет, после нажатия Ок, всё снова идёт своим чередом, но считаю, что важно докопаться до сути. Стоит Винд XP SP2
Andyy
Цитата
Во всем, как выяснилось, виновата функция "Предотвращение выполнения данных" (DEP)!!!
Т.к. данная ошибка возникает при обращении какой-либо программы или модуля программы напрямую к закрытому участку памяти.

Краткая компиляция, из Хелпа:
"...в отличие от брандмауэра или антивирусного программного обеспечения функция DEP не препятствует установке потенциально опасных программ на компьютер, а только следит за тем, как программы используют память, и после установки SP2, DEP по умолчанию включена для основных программ и служб Windows."

И немножко комментариев.
Если какая-то программа вызывает срабатывание этой функции, Microsoft рекомендует выбрать режим OptOut и добавить эту программу в список исключений.
Однако зачастую программа состоит не из одного исполняемого модуля, а из многих динамических библиотек, и не всегда имеется возможность точно определить, какая именно вызывает срабатывание DEP.
Если программа вам очень нужна, а добиться ее работоспособности вышеописанным методом не получается, проще отключить DEP целиком, путем редактирования boot.ini.
Хотя, если вероятность возникновения этой ошибки невелика, и если вы не сталкиваетесь с нею, лучше оставить DEP включенной - так система будет больше защищена от возможности выполнения вируса.

Cуществует четыре варианта настройки функции DEP

OptIn - (установлено по умолчанию). В этой конфигурации под действие функции DEP подпадают только основные системные программы и службы.
OptOut - DEP включена для всех процессов и приложений, кроме тех, которые вручную добавлены пользователем в список исключений.
AlwaysOn - В этом режиме DEP включена всегда для системы в целом, всех процессов и приложений, не взирая на установки пользователя или производителя ПО.
AlwaysOff - DEP полностью отключена.

Первые два варианта настройки можно переключать с помощью панели управления:
"Система" -> "Дополнительно" -> "Быстродействие" -> кнопка "Параметры" -> закладка "Предотвращение выполнения данных". (Доп.описание см.по ссылке от туда.)

Для полного включения или выключения DEP необходимо вручную отредактировать находящийся в корне загрузочного раздела диска скрытый файл boot.ini, добавив в разделе [operating systems] в конец строки ?\WINDOWS="Microsoft Windows XP Professional" /fastdetect ключ /NoExecute с одной из опций:

NoExecute = OptIn
NoExecute = OptOut
NoExecute = AlwaysOn
NoExecute = AlwaysOff

Для редактирования boot.ini нужно в панели управления "Система", на вкладке "Дополнительно" в разделе "Загрузка и восстановление" нажать кнопку "Параметры" и в открывшемся окне - кнопку "Правка". Файл boot.ini будет открыт в "Блокноте".
Или: Пуск -> Выполнить -> %systemdrive%\Boot.ini

После редактирования boot.ini не забудьте сохранить этот файл и перезагрузить компьютер, чтобы изменения вступили в силу.

PS: По умолчанию у меня стояла строка
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional SP2" /noexecute=optin /fastdetect
Козе понятно, что я установил у себя /NoExecute=AlwaysOff
Gerard
Да, всё сделал, но если чесно, про DEP никогда не слышал.
Можно полюбопытствовать, откуда эта статья?
Andyy
1. Из ответа не понятно, помогло или нет?
2. Естественно из инета :) Яндекс "рулит". Набираешь в нем "Память не может быть "read"" и читаешь ссылки. Ничего хитрого. Просто иногда бывает достаточно долго.
На данную "статью" дать ссылку быстро не могу, т.к. я её текст в своё время просто сохранил у себя. И по мере необходимости "цитирую".
PS: Можешь для интереса пройти весь путь поиска с нуля и посмотреть, как ищутся ответы на казалось бы простые вопросы gigi.gif
Gerard
С утра пока проблем нет. Вроде помогло.

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional SP2" /NoExecute=AlwaysOff
Вот так ставил, 2 дня нормально было, сейчас тот же касяк.
Ernst
При закрытии некоторых программ, страниц Интернета и даже простейшего варианта игры "Эрудит", возникает таблица с текстом о неправильном обращении программы (какой - не известно) к памяти. Образец объявления прилагается. Что с этим делать и чем это можно обьяснить.
Простите, если спрашиваю не в нужном разделе этого форума.
[img]C:\Documents and Settings\ERNST\Рабочий стол\Заметки. Июнь 08\Что это....jpg[/img]
Картинку вставить не удалось (кстати объясните, как это сделать применительно к обычному рисунку в папке.), просто забыл как это здесь делается.
Текст такой:
"Инструкция по адресу "0х0040880" обратилась к памяти по адресу "0х00b49008". Память не может быть "read".
"ОК" -- завершение приложения"
Andyy
Чтобы вставить картинку в новом посте, надо отвечать через "Ответить" ( а не через "Быстрый ответ"). Далее "Обзор" и " Добавить файл".
Или в уже существующем посте через "Правка"-"Полное". Далее - читай выше.
SashJ
Проблема может быть в оперативке/метери/проце или в драйвере (в какомто)
Чтоб исключить софтовую (драйвер, операционная система) стоит преставить систему(ну точней поставить вторую на второй раздел)

По результатам капать дальше, но думаю проблемма в драйвере (была аналогична проблема был виноват драйвер старфорса)
..
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.

Русская версия Invision Power Board © 2001-2024 Invision Power Services, Inc.

Warning: require_once(/var/www/bestfil1/public_html/setlinks_0d98c/slsimple.php) [function.require-once]: failed to open stream: No such file or directory in /var/www/bestfil1/public_html/forums/lofiversion/index.php on line 355