Руководства, Инструкции, Бланки

Инструкция По Адресу 0x00000000 Память Не Может Быть Read Windows 7 img-1

Инструкция По Адресу 0x00000000 Память Не Может Быть Read Windows 7

Категория: Инструкции

Описание

Память не может быть read - Система

Память не может быть read

Память не может быть read

Сегодня мы поговорим о решении такой распространенной проблемы как ошибка памяти чтения\записи, в результате которой появляется окно с сообщением о том, что память не может быть read \written.

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

На самом деле единого и правильного решения этой проблемы не существует, так как данная проблема связана с некорректно работающим ПО, а не с ошибками внутри самой операционной системы.

Для того, что бы устранить эту ошибку будем использовать сразу несколько самых эффективных способов:

1. Если ошибка памяти возникает из-за установленного в системе программного обеспечения, а это можно определить с названия ошибки:


Дляустранения неполадки выполняем следующие действия:

Панель Управления -> Система -> Дополнительно -> Быстродействие -> Предотвращение выполнения данных. Ставим птичку в положение «Включить DEP для всех программ и служб, кроме выбранных ниже» и с помощью кнопки «Добавить» указываем путь к исполняемому файлу программы, которая провоцирует ошибку памяти. В моем случае ошибку read \written провоцирует программаExplorer.exe. по этому мои действия выглядят следующим образом.


Этот способ не всегда решает проблему ошибки памяти, но по статистике помогает в 25% случаев.

2. Очень часто, причиной ошибки памяти оказываются такие программы как Norton Internet Security, Kaspersky Internet Security Outpost Firewall, K-Lite Mega Codec Pack, а также драйвера принтеров HP и простая захламленность ОС. По этому решением в этом случае будет замена программ и антивирусов аналогами и чистка реестра операционной системы.

3. Также возможна проблема и с работой файла подкачки, по этому нужно настроить его размер наиболее оптимальным способом. Оптимальный размер файла подкачки зависит от объема установленной ОЗУ памяти в ПК:

512Мб ОЗУ = 1500Мб файла подкачки

1024Мб ОЗУ = 1024Мб файла подкачки

1536Мб ОЗУ = 512Мб файла подкачки

2048Мб ОЗУ = 256Мб файла подкачки

Настройки по изменению файла подкачки находятся по адресу: Панель Управления -> Система -> Дополнительно -> Быстродействие (Параметры) -> Дополнительно -> Виртуальная память (Изменить):

4. Если ошибка read \written появляется во время игры, то это может означать, что в операционной системе установлена несовместимая с игрой версияDirectX. В таком случае нужно установить новую версиюDirectX. которая находится на диске с игрой.

5. Данная ошибка может быть вызвана плохой работой блока питания, а также некорректной работой ОЗУ памяти компьютера. В таком случае, решением проблемы станет замена комплектующих ПК.

Можно конечно и переустановить ОС, но это Вам не даст гарантии, что данная ошибка не появится вновь!

Другие статьи

Ошибка - решено При загрузке сообщение: Память не может быть - written

olg45
Это какая-то служба подглючивает. При запуске пытается копировать информацию в запрещённые разделы памяти. Могла возникнуть при инсталляции каких-либо приложений: UPS, файейволлы, трафикомеры. Можно поочерёдно вычислить. А можно и отключить.
В этом виновата функция "Предотвращение выполнения данных" (DEP).
Мелкософт комментирует это так:
"В отличие от брандмауэра или антивирусного программного обеспечения функция DEP не препятствует установке
потенциально опасных программ на компьютер, а только следит за тем, как программы используют память, и после
установки Service Pack 2 DEP по умолчанию включена для основных программ и служб Windows. Cуществует четыре
варианта ее настройки.

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

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


Для редактирования boot.ini нужно: Пуск => Выполнить => %systemdrive%\Boot.ini
или найти Boot.ini в корне системного раздела и отредактировать. Ваша люмая строчка 4. Файл скрытый. Не забыть после редактирования установить галочку "только для чтения".

Спалю железо за 3-и минуты! Убью систему за 3-и секунды!

Устранения ошибки Память не может быть Read в XP - 13 Марта 2011 - Статьи - Скины, Темы, Оболочки

Composed.at.ua

Память не может быть Read как решить данную ошибку?
Причина возникновения ошибки довольно проста на первый взгляд: менеджер виртуальной памяти обнаруживает не санкционированную попытку доступа к страницам памяти, доступ к которым не разрешён для данного процесса.

Ошибка эта, разумеется, не смертельная, поэтому выдаётся стандартное сообщение об ошибке "Память не может быть read. ". Если говорить упрощённо, то для каждой программы в памяти выделяется некое пространство. И если приложение (игра, программа) начинает лезть за пределы этого пространства, т.е. пытается оттуда что-то прочитать (read) или что-то записать туда (written), то появится такая ошибка. Microsoft потому и не даёт никаких рекомендаций по устранению этой ошибки, ведь это не её вина, что какие-то пользовательские программы не могут адекватно распоряжаться выданной им памятью и ресурсами.


Возможные причины ошибки "Память не может быть read\written" :

Возможная причина №1 - служба DEP

Кратко о DEP "Предотвращение выполнения данных (DEP) используется для предотвращения проникновения на компьютер вирусов и других угроз безопасности, которые выполняют вредоносный код из областей памяти, которые должны использоваться только операционной системой Windows и другими программами. Такой тип угроз безопасности наносит ущерб, занимая по очереди все области памяти, используемые программой. Что очень опасно. Затем вирус распространяется и повреждает другие программы, файлы и даже контакты электронной почты.
В отличие от брандмауэра или антивирусной программы средство DEP не препятствует установке потенциально опасных программ на компьютер. Вместо этого выполняется наблюдение, чтобы программы использовали системную память безопасным образом. Для этого DEP работает отдельно или вместе с совместимыми микропроцессорами и помечает некоторые области как «не выполняемые». Если программа пытается запустить код (любой код) из защищенной области, DEP закрывает программу и отображает уведомление, типа что память не может быть Read".


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

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

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

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

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

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


Чаще всего можно увидеть советы по отключению службы DEP (Data execution prevention = Предотвращение выполнения данных). Для этого необходимо открыть файл C:\boot.ini и заменить в нём строку
/noexecute=optin на /noexecute=AlwaysOff.
Для применения изменений необходимо рестануть - перезагрузить компьютер.

Справка: файл boot.ini является одним из важнейших системных файлов, поэтому по умолчанию он скрыт. Соответственно, для его отображения потребуется разрешить отображение скрытых и системных файловв системе. Также его можно открыть для редактирования, если в Свойствах Моего компьютера выбрать вверху Дополнительно и нажать кнопку "Параметры" (самая нижняя). В открывшемся окне нажмите кнопку "Правка", чтобы открыть boot.ini для редактирования.

Возможная причина №2 - конфликт программного обеспечения
Проще говоря, одна из программ мешает правильно функционировать другой программе и появляется эта ошибка. Понятное дело, что чёткого списка конфликтного-глючного софта не существует. Тем не менее, в Интернете засветился пакет Norton Internet Security 2007, Kaspersky Internet Security 2009, Outpost Firewall, K-Lite Mega Codec Pack и антивирус Dr.Web, а также драйвера от принтеров фирмы Hewlett-Packard. Сюда же можно отнести и захламленную систему. Если Windows простояла полгода или больше, то вполне может появиться эта ошибка, особенно если ОС активно используется, т.е. часто устанавливаются новые программы, игры и драйвера.

Полезная информация: если у вас ТВ-тюнер фирмы Beholder, то не устанавливайте драйвера на него через install.exe. Укажите путь к inf-файлу драйвера вручную, через Мастер установки оборудования (Диспетчер устройств - правой кнопкой на устройство - Обновить драйвер).

Возможная ошибка №3 - работа отладчика Dr. Watson
В Windows XP есть дебаггер под названием Dr. Watson. Для того, чтобы отключить его, откройте реестр (Пуск-Выполнить: regedit) и раскройте ветку HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion. В ней одним из самых первых разделов будет AeDebug. Щёлкните по нему правой кнопкой и выберите Удалить. Но учтите, что данное действие не претендует на решение ошибки чтения памяти, оно может лишь убрать само сообщение об ошибке.

Возможная ошибка №4 - русские символы в пути к файлу
Даже в наши времена необходимо стараться устанавливать игры\программы по нормальным путям, стараясь избегать русских букв в названии, а также слишком длинных путей. Например, куда лучше устанавливать игру в папку D:\Games\Earth 2150, чем в C:\Program Files\Земля 2150 - Война миров. А в случае установки программ в путь могут быть добавлены лишние папки с названиями разработчика или версия программы. Используйте как можно более короткие и понятные пути (например E:\Programs\Fraps).

Возможная ошибка №5 - проблема обращения к системной библиотеке
Эта ошибка может быть связана с проблемой обращения к системной библиотеке ole32.dll, которая могла быть испорчена в случаи какого либо взбоя или разрегистрирована (например, при установке\удалении других программ). Чтобы пофиксить эту возможную причину, сделайте Пуск-Выполнить: regsvr32 %SystemRoot%\system32\ole32.dll

Возможная причина №6 - попытка отправить отчёт об ошибке
Весьма оригинальный совет, в котором было сказано, что подобной ошибки (Память не может быть read\written) можно избежать, если отключить в WinXP отправку любых отчётов об ошибках в Microsoft. В Свойствах Моего компьютера надо выбрать вверху - Дополнительно и нажать кнопку "Отчет об ошибках". Откроется небольшое окно. Там выберите Отключить отчёт об ошибках - ок.

Возможная причина №7 - проблемы с многоядерными процессорами duel и т д. Если у вас многоядерный процессор (то есть 2 ядра или больше), то попробуйте скачать маленькую программку CPU-Control и выставить в ней режим "CPU 1". Количество ядер можно посмотреть в Диспетчере устройств (ветка "Процессоры"; 1 процессор = 1 ядро, 2 процессора = 2 ядра и т.д.). Если CPU-Control вам не помог, то выставите в нем значение Auto, закройте его и удалите.

Примечание: на системах с одноядерным процессором эта программа бесполезна.

Возможная причина №8 - проблемы с файлом подкачки
Рекомендуется проконтролировать обращение системы к этому файлу. Для этого необходимо в Свойствах Моего компьютера выбрать вверху Дополнительно и нажать кнопку "Параметры" (самая верхняя). Откроется новое окно. В нём также надо выбрать вверху Дополнительно и нажать в нижней части кнопку "Изменить". Выделите диск, на котором хотите расположить файл подкачки (желательно, чтобы он был поменьше фрагментирован). Поставьте точку напротив пункта Особый размер и введите числа в поля судя по нижним рекомендациям:

Минимальный и максимальный объём желательно выставлять одинаковым. Перед выходом необходимо нажать кнопку "Задать". При уменьшении\отключении файла подкачки потребуется перезагрузка. При увеличении\включении файла подкачки перезагрузка обычно не нужна. Ниже будут приведены рекомендуемые значения для объёма файла подкачки в зависимости от объёма RAM самого компьютера:
512Мб RAM = 1536Мб для файла подкачки
1024Мб RAM = 1024Мб для файла подкачки
1536Мб RAM = 512Мб для файла подкачки
2048Мб RAM = 256Мб для файла подкачки или вообще 0Мб


Возможная причина №9 (!) - несовместимость оперативной памяти
Маловероятно, но подобная ошибка может быть вызвана в том случае, если в паре работают два модуля оперативной памяти от разных производителей. Соответственно, проверить это просто: просто вытащите один из модулей.

Возможная причина №10 (!) - плохой блок питания
Ошибка чтения памяти может быть вызвана и некачественным\старым БП. Конечно, это очень уж маловероятно, но наиболее идеальным вариантом будет подключение компьютера к заведомо нормальному блоку питания. Если же у вас нет возможности одолжить у кого-нибудь БП, то просто отключите различную мелочь, т.е. CD\DVD-привод, карты расширения, установленные в PCI-слотах, принтер и т.д.

Возможная ошибка №11 (!) - некорректно установленные тайминги памяти
Один из наиболее "тяжёлых" случаев*. Если вкратце, то вся оперативная память построена на таймингах (задержках) чтения\записи данных.

Тайминг своей озу можно протестировать через прогу CPU-Z

Обратите внимание, что задержки для каждой частоты разные. Соответственно, если тайминги выставлены неправильно (хотя материнская плата должна делать это автоматически), то компьютер может работать, мягко говоря, нестабильно. Обычно это выражается зависанием\перезагрузкой, но мне встретились предположения и том, что это тоже может вызвать ошибку "Память не может быть read\written". Соответственно, рекомендуется установить тайминги вручную или даже чуть-чуть повысить их. К сожалению, лишь очень малое количество пользователей (где-то 1 на 1000) способно самостоятельно выставить в BIOS'е правильные тайминги для своей RAM. Сюда же можно отнести неправильно выставленную частоту или напряжение для памяти, хотя на одном из форумов встретилось интересное сообщение: человеку помогло снижение частоты памяти.

*Весьма скептически отношусь к подобному варианту возникновения ошибки чтения памяти, но думаю вы должны знать

Возможная ошибка №12 (!) - перегрев памяти ОЗУ
Безусловно, модули RAM нагреваются во время работы, но дополнительное охлаждение требуется лишь конкретным планкам памяти, например, которые разогнаны самим производителем и потому нуждаются в хорошем охлаждении. Но обычная память (которая стоит у 95% пользователей) нормально работает даже в плохо вентилируемых корпусах. Хотя в данном случае всё это можно проверить очень легко - достаточно просто открыть корпус.

Пытаемся выявить виновника ошибки :

На первом месте, безусловно, стоит конфликт программ\драйверов. это одна из первых причин. К сожалению, даже имея в наличии полный список установленных приложений, нельзя сказать, какое из них вызывает ошибку, так как помимо приложений имеются ещё и библиотеки различные в системе. Соответственно, единственным вариантом остаётся только методичное "тестирование" приложений. Для этого потребуется приложение \ игра, которое 100% вызывает ошибку (это необходимо для экономии времени), а также чистая система.

Память не может быть read

Память не может быть read, находим решение проблемы

Наверное многим знакомо такое сообщение: «Память не может быть read». Чаще всего мы можем его лицезреть во время игры или установки какой-нибудь программы, и самое непонятное — это сам адрес, который чаще всего состоит из огромного количества цифр и букв. Так в чем же причина появления этого сообщения?

Причины возникновения сообщения «Память не может быть read»

Для Windows эта ошибка не смертельна, система всего лишь выдает сообщение о ней. Для полноты информации перчислю возможные причины возникновения сообщения. Причин может быть великое множество. Но самыми распространенными можно считать такие:

  1. Не оригинальная версия Windows.
  2. Неправильная активация, либо работа установленных программ. Кстати, тут можно узнать какие программы нужны для вашего компьютера.
  3. Одна из программ мешает работать какой-то другой программе, и вследствии появляется конфликт.
  4. Программа обращается к тому участку памяти, который отведен другому приложению.
  5. Несоответствие требований вашего компьютера для определенного действия. Допустим, если вы захотели установить игру или прорамму, а у вас вместо нужных 512 RAM — всего 256 RAM.
  6. Повреждение или перегрев модулей оперативной памяти.
Методы избавления от сообщения

На бескрайних просторах интернета изложено очень много способов решения этой проблемы. Самый действенный, но болезненный — это переустановка винды, лучше — на лицензионную версию. Но этот способ далеко не всем под силу.

Поэтому рассмотрим вариант исправления такой ошибки посредством отключения функции «Предотвращение выполнения данных» (DEP) через редактирование файла boot.ini. Есть один маленький нюанс. если вы все же отключите функцию DEP, то вся ваша система уже не будет на 100% защищена от выполнения вредоносных вирусных программ.

Так что же это за зверь такой DEP? Если сравнивать с антивирусом или брандмауэром, которые, как щиты задерживают все возможные вирусы (как проверить компьютер на вирусы можно прочитать здесь ), то DEP совсем никак не реагирует на установку вредоносных программ на ваш компьютер, а только следит за использованием программами памяти. Изначально эта функция включена для всех программ и служб, которые находятся на вашем компьютере.

Для выключения функции DEP нам нужно будет самостоятельно отредактировать скрытый файл boot.ini. Делаем это по следующему маршруту: «Панель управления» -> «Система». Открываем вкладку «Дополнительные параметры системы», а в ней ищем раздел «Загрузка и восстановление». Чуть не забыла — вся работа проводится от имени администратора!

Нажимаем на кнопку «Параметры». и в открывшемся окошке видим «Отредактировать список загрузки вручную» -> «Правка». Дальше откроется блокнот и в нем мы увидим много непонятных слов, среди которых будет следущее: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=”Microsoft Windows XP Professional RU” /fastdetect /NoExecute=OptIn .

Далее меняем NoExecute=OptIn на NoExecute=AlwaysOff. только не украшайте всякими кавычками и иными знаками! После этого сохраните файл и перезаггрузите компьютер.

В большинстве случаев эта замена помогает проститься с злостным сообщением. Но это не в 100% случаев. Иногда проблема остается. Тогда попробуйте почистить память (компьютера разумеется). Тут в бой вступает программа CyberLat RAM Cleaner. Она сможет освободить от лишних процессов систему, и даст возможность выделить так необходимую вам память для игры или нормальной работы нужной программы.

Итак, в статье были рассмотрены несколько способов избавления от сообщения «Память не может быть read». Но если вам не помог не один из них, есть вероятность того, что ваш «почтенный» компьютер просто устарел (в смысле — железо), и его показатели совсем никак не подходят требованиям тех программ или игр, которые вы хотите использовать. Не спорю — это грусно, но все ведь имеет свой физический ресурс. И тут поможет только обновление железа.

Похожие статьи: Навигация записей

Проблема с HT

Проблема с HT

Здравствуйте.
Я написал консольное клиент-серверное приложение на D7. Использовал такие юниты: SysUtils, WinSock, Windows, Classes.
При этом при включенном HT, запущенных 39 клиентах и 1-м сервере с периодичностью в 15 мин. клиенты "вываливаются" с MessageBox-ами с сообщениями об ошибках работы с памятью, причем с разными адресами. Примеры:
;-------
Инструкция по адресу "0x00140190" обратилась к памяти по адресу "0x98449844". Память не может быть "written".
"OK" -- завершение приложения
;-------
Инструкция по адресу "0x77f745cc" обратилась к памяти по адресу "0xffffffff". Память не может быть "read". "OK" -- завершение приложения
;-------
Инструкция по адресу "0x00140199" обратилась к памяти по адресу "0x00002930". Память не может быть "written".
"OK" -- завершение приложения
;-------
Инструкция по адресу "0x77f745cc" обратилась к памяти по адресу "0x00000007". Память не может быть "written".
"OK" -- завершение приложения
;-------
Инструкция по адресу "0x00000000" обратилась к памяти по адресу "0x00000000". Память не может быть "read". "OK" -- завершение приложения
;-------
Причем частота появления ошибок увеличивается при активном параллельном использовании "тяжелых" сторонних программ во время проведения теста (Photoshop, FineReader. ), особенно при их запуске/завершении.
Использование SetThreadAffinityMask не помогло. Привязал всех клиентов на машинке с P4 3.0 GHz HT к 0-му процессору командой SetThreadAffinityMask(GetCurrentThread, 1). ОС - WinXP Pro SP2. Результат тот же.
Перезагружаю машинку, выключаю в BIOS-е HT, провожу тот же тест - никаких сообщений об ошибках. Все чисто. Что посоветуете, какие мысли по поводу вышеизложенного?

P.S>
- при включенном HT тестирование приводит к вышеуказанным ошибкам;
- при выключенном HT программа может работать в условиях тестирования сутки, и ни одной ошибки не возникает.
В своей программе я не использую ф-ий работы с многопроцессорными системами. Более того, можно подумать, что я неправильно синхронизирую потоки, и такая синхронизация "проходит" на однопроцессорной системе, но не "проходит" на многопроцессорной. Но у меня и поток один. Нечего там синхронизировать.


> Что посоветуете, какие мысли по поводу вышеизложенного?

Программу отлаживать. Очевидно, неверная синхронизация потоков

В NT (про другие не знаю) для работы с сокетом запускается дополнительный поток.
Запускается автоматом при инициализации Windows Sockets service provider,
с которым будет потом работать клиент.
И как не странно этот поток принадлежит твоему процессу :)

Спасибо. Действительно, моя программа использует только 1 поток, в то время, как в диспетчере задач их отображается 2 шт. Но, как я понял, к этому потоку я доступа не имею. Как тогда осуществлять синхронизацию?

Интересная информация:
при включенном HT под Win2k Pro SP4 Rus и Windows 2003 Server Standard Edition Rus в тех же условиях тестирования (кроме ОС, конечно), на том же железе никаких ошибок не возникало. Похоже, это проблемки с WinXP Pro SP2. Но как там синхронизировать потоки, если второй поток - не мой?

> Но у меня и поток один. Нечего там синхронизировать.

В некоторые функций WSA передаётся адрес callback-функции в качестве параметра (это WSAAccept и overlapped-версии WSASend, WSASendTo, WSARecv, WSARecvFrom). если какая-то часть пользовательского кода могла "попасть в другой поток", то это callback-функции; в них и стоит проверить GetCurrentThreadId, совпадает ли она с первичной нитью.
Если callback-функции имеются действительно вызываются в другом потоке, то важной частью межпоточной синхронизации будет установка переменной IsMultiThread в True.

Вообще, какой режим сокетов используется, используется ли overlapped ?

Используется 1 поток, блокирующие сокеты, все ф-ии - WinSock 1.1, callback-функции не используются, overlapped не используется. Более подробно о моем приложении и принципах его реализации Вы можете прочитать здесь:
http://www.delphimaster.net/view/6-1157482660/

Память: 0.74 MB
Время: 0.182 c