Большое количество пользователей после запуска какой-либо программы (или её обновления) могут столкнуться с сообщением «Исключение unknown software exception», после которого, обычно, следует код ошибки (0x80000003, 0x000001d, 0x40000015). Основой для возникновения подобных ошибок могут быть причины как программного, так и аппаратного характера, и возникают данные ошибки достаточно непредсказуемым образом. В этом материале я опишу суть проблемы «Исключение unknown software exception (0x80000003, 0x000001d, 0x40000015) в приложении по адресу», расскажу, каковы её причины, а также поясню, как её исправить.
Содержание
- Причины ошибки «Исключение unknown software exception»
- Как исправить ошибки 0x80000003, 0x000001d, 0x40000015
- Заключение
Причины ошибки «Исключение unknown software exception»
В переводе с английского тест данного сообщения звучит как «ошибка неизвестной программы», и означает ситуацию, при которой определённая программа не смогла выполнить какую-либо из своих операций (failure) и завершила работу.
Наиболее часто на появление ошибок 0x80000003, 0x000001d, 0x40000015 жалуются пользователи современных игр, а также ряда приложений (например, Скайпа).
Причины ошибок 0x80000003, 0x000001d, 0x40000015 могут быть следующими:
- Случайный сбой в работе компьютера;
- Повреждение целостности системных файлов ОС Виндовс;
- Повреждение целостности файлов запускаемой программы (в частности, из-за сбоя во время её инсталляции, некорректно установленного обновления к ней и так далее);
- Злокачественная деятельность вирусных программ;
- Антивирус и файервол блокируют работу программы или её компонентов;
- Некорректные драйвера к некоторым системным компонентам (в частности, к видеокарте);
- Повреждение системного реестра;
- Появления плохих секторов на жёстком диске;
- Дисфункции в работе планок памяти;
- Устаревшее оборудование (в частности, устаревшая модель процессора ПК, не поддерживающая ряд современных инструкций);
- Пиратская (некорректная) версия ОС.
После того, как мы определились с причинами возникновения проблемы, перейдём к ответу на вопрос, как пофиксить ошибки 0x80000003, 0x000001d, 0x40000015 на вашем компьютере.
Как исправить ошибки 0x80000003, 0x000001d, 0x40000015
Итак, как же избавиться от ошибок 0x80000003, 0x000001d, 0x40000015? Рекомендую выполнить следующее:
- Перегрузите ваш ПК. Если проблема имеет случайную природу – она исчезнет;
- Если ошибка начала возникать после установки какого-либо обновления, попробуйте переустановить его вновь (при возможности, вручную);
- Попробуйте переустановить саму проблемную программу, или использовать другой взлом к ней (если речь идёт о пиратской версии продукта), это может помочь устранить ошибки 0x80000003, 0x000001d, 0x40000015;
- Определите, какая из системных служб является причиной возникновения ошибок 0x80000003, 0x000001d, 0x40000015. Нажмите на кнопку «Пуск», в строке поиска введите msconfig и нажмите на ввод. В открывшемся окне конфигурации системы кликните на «Службы», поставьте галочку внизу на «Не отображать службы Майкрософт», а затем снимите галочки со всех оставшихся служб или нажмите на кнопку «Отключить все».
Установите галочку рядом с опцией «Не отображать службы Майкрософт»
Затем перейдите во вкладку «Автозагрузка» и там снимите все галочки (или нажмите на «Отключить все»). Нажмите на «Применить», перезагрузите систему и попробуйте запустить нужную программу. Если всё заработало, вам предстоит включать по одной-две ранее выключенные вами службы (и программы в автозагрузке), чтобы определить виновника и отключить (удалить) его.
- Задействуйте утилиту sfc для проверки целостности системных файлов. Запустите командную строку от имени администратора, введите там sfc /scannow, нажмите на ввод и ожидайте окончания процесса;
- Задействуйте утилиту CHKDSK для проверки целостности файлов жёсткого диска, а также наличия или отсутствия плохих секторов на нём. Запустите командную строку от имени администратора, введите там chkdsk с: /f/r и нажмите ввод (при необходимости, вместо «с» введите другую букву проблемного диска). При этом, для проверки системного диска утилитой chkdsk, может понадобиться перезагрузка;
- Проверьте целостность системного реестра с помощью вспомогательных программ (CCleaner, RegCleaner и других), это может помочь исправить ошибки 0x80000003, 0x000001d, 0x40000015;
- Проверьте ваш компьютер на наличие вирусных программ. Помогут Dr.Web CureIt!, Malwarebytes Anti-Malware и ряд других аналогов;
- Попробуйте временно отключить антивирус и файервол, а затем запустить требуемую программу. В некоторых случаях причиной возникновения проблемы выступал антивирус 360 Total Security, который необходимо деинсталлировать из системы;
- Установите свежие драйвера для вашей видеокарты (могут помочь такие программы как DriverPack Solution, Driver Genius и другие);
- Установите на компьютер свежие версии программ DirectX, Microsoft .NET Framework, Visual C++;
- Проверьте корректность работы памяти вашего ПК с помощью соответствующих утилит (например, Memtest86);
- Если ваш компьютер довольно старый, то есть вероятность что процессор вашего ПК не поддерживает ряд современных инструкций (например, SSE2). Здесь поможет только апгрейд компьютера;
- Используйте откат на предыдущую точку восстановления, при которой проблемы не наблюдалось. Нажмите на кнопку «Пуск», в строке поиска введите rstrui и нажмите ввод. Выберите нужную точку восстановления и откатите систему на неё;
- Используйте утилиту WindowsFix для исправления ошибок вашей версии ОС Виндовс https://windowsfix.ru/.
Заключение
Если вы встретились с ошибкой «Исключение unknown software exception (0x80000003, 0x000001d, 0x40000015) в приложении по адресу», рекомендую, прежде всего попробовать переустановить саму проблемную программу (или обновление к ней). Если это не помогло, тогда стоит отключить все несистемные службы (и программы в автозагрузке), и, попеременно включая их, найти виновника ошибок 0x80000003, 0x000001d, 0x40000015. Если же переустановка софта и отключение служб не помогли, тогда стоит воспользоваться другими, приведёнными выше, советами, они помогут избавиться от ошибок 0x80000003, 0x000001d, 0x40000015 на вашем ПК.
0 / 0 / 0 Регистрация: 15.08.2014 Сообщений: 227 |
|
1 |
|
Как узнать, в каком месте программы вызвано исключение28.06.2022, 00:03. Показов 1447. Ответов 16
В Visual Studio в окно вывода/отладка сыпятся сообщения типа: Как узнать, в какой процедуре, на какой строке случилось исключение ?
0 |
234 / 204 / 58 Регистрация: 09.03.2016 Сообщений: 1,686 |
|
28.06.2022, 00:19 |
2 |
Периодически надо запускать. https://www.cyberforum.ru/atta… 1656364759 Миниатюры
0 |
0 / 0 / 0 Регистрация: 15.08.2014 Сообщений: 227 |
|
28.06.2022, 00:30 [ТС] |
3 |
Наталья8, отладчиком я пользуюсь успешно, но как выйти по hex-адресу на строку программы – не знаю. Что значит периодически надо запускать – пошагово топать и ждать, когда сообщение выскочит ? Система где-то должна хранить таблицу символов – соответствие адресов программному коду на C++, только как найти это – не знаю.
0 |
519 / 365 / 105 Регистрация: 31.10.2016 Сообщений: 3,107 |
|
28.06.2022, 00:40 |
4 |
Можно просто в разных местах ставить точки останова, и так выяснить в каком месте вылетает эта ошибка.
0 |
2340 / 1868 / 606 Регистрация: 29.06.2020 Сообщений: 7,057 |
|
28.06.2022, 00:45 |
5 |
LUN2, что у вас за компилятор/студия? Миниатюры
0 |
2340 / 1868 / 606 Регистрация: 29.06.2020 Сообщений: 7,057 |
|
28.06.2022, 00:46 |
6 |
Наталья8, Alexis333, да вы бредите …
0 |
234 / 204 / 58 Регистрация: 09.03.2016 Сообщений: 1,686 |
|
28.06.2022, 02:11 |
7 |
Я почти ни когда не пользуюсь отладчиком. Добавлено через 2 минуты
0 |
8724 / 4304 / 958 Регистрация: 15.11.2014 Сообщений: 9,751 |
|
28.06.2022, 11:45 |
8 |
Как узнать, в какой процедуре, на какой строке случилось исключение ? 1. запусти дебаг из под отладчика.
Вызвано исключение по адресу 0x00007FFFA2CC4FD9 в мояпрограмма.exe: исключение Microsoft C++: int по адресу памяти 0x000000C6FDBFF964 3. теперь смотри трассу вызовов. 4. PROFIT ???!!!! зы:
0 |
0 / 0 / 0 Регистрация: 15.08.2014 Сообщений: 227 |
|
28.06.2022, 23:47 [ТС] |
9 |
hoggy, эта “диагностика” льется потоком, программа в отладчике не останавливается. Кто-то спрашивал, какая студия – Visual Studio 2022.
0 |
2340 / 1868 / 606 Регистрация: 29.06.2020 Сообщений: 7,057 |
|
28.06.2022, 23:51 |
10 |
эта “диагностика” льется потоком Что это значит вообще ? Каким потоком ?
а если программа с потоками… сами понимаете. Не понимаю. Объясните. И что, что с потоками ? Так в потоке и остановится. Главная функция main тоже в потоке.
0 |
8724 / 4304 / 958 Регистрация: 15.11.2014 Сообщений: 9,751 |
|
28.06.2022, 23:54 |
11 |
эта “диагностика” льется потоком, программа в отладчике не останавливается.
если отладчик не брякается на эксепшенах, значит не хватает галочек. screenshot
1 |
0 / 0 / 0 Регистрация: 15.08.2014 Сообщений: 227 |
|
05.07.2022, 00:28 [ТС] |
12 |
SmallEvil, да, смешно получилось: диагностика льется потоком – это значит что сообщений довольно много, и появляются они очень часто (т.е. “льются как из ведра” – действительно, так правильнее было сказать,чтобы не путать со святым поток=thread), т.к. возникали они в одном из блоков try-catch в фоновом режиме. Lun2: SmallEvil
0 |
4025 / 3280 / 921 Регистрация: 25.03.2012 Сообщений: 12,263 Записей в блоге: 1 |
|
06.07.2022, 14:36 |
13 |
LUN2, так вы хоть на одно исключение как реагируете? Если жмёте “продолжить”, смотрите в окне Студии, где остановилась программа, открываете окошко студии Stack Trace, И при этом не понимаете, в какой процедуре возникло исключение? отладчиком я пользуюсь успешно ????
0 |
234 / 204 / 58 Регистрация: 09.03.2016 Сообщений: 1,686 |
|
06.07.2022, 14:46 |
14 |
LUN2, Добавлено через 3 минуты
0 |
2328 / 795 / 301 Регистрация: 10.02.2018 Сообщений: 1,861 |
|
06.07.2022, 15:10 |
15 |
Вот оно у вас выскакивает в окошке с кнопками “продолжить, остановить, …” Данное окно может не выскакивать. Не все исключения критические. Об исключение делается пометка в окне вывода, а программа продолжает свою работу. Слушайте hoggy, он по делу говорит о настройках останова при разных типах исключений.
0 |
2328 / 795 / 301 Регистрация: 10.02.2018 Сообщений: 1,861 |
|
06.07.2022, 15:44 |
16 |
картинка Миниатюры
0 |
← →
BFG9k
(2005-02-15 16:47)
[0]
Программа выдает ошибку типа “Access violation …” с адресом ошибки. Как по адресу ошибки найти место где она произошла…
Если прогу запустить под Delphi 7 то меню “Find error…” остается “серым” (неактивным) после возникновения ошибки.
Спасибо!
← →
Digitman ©
(2005-02-15 16:51)
[1]
> то меню “Find error…” остается “серым”
особо одаренные знают, что для того чтобы сие меню было НЕ “серым”, следует включить все необходимые (для работы встроенного в IDE отладчика) опции отладки и пере
собрать
проект со вновь установленными этими опциями
← →
han_malign ©
(2005-02-15 17:53)
[2]
Project options …->Linker->Map file->Detailed +
Build
если адрес ошибки возвращается системой, а не сообщением Delphi из SysUtils:
<адрес – $00400000(image base) – $1000(default linker offset)>
– ищем в <project>.map – наиболее близкий адрес – высняем модуль и номер строки
← →
VMcL ©
(2005-02-15 18:41)
[3]
>>
han_malign © (15.02.05 17:53) [2]
Создавать карту необязательно.
Некоторые пользователи могут столкнуться с внезапно появившимся на экране сообщением «Инструкция по адресу *XXX* обратилась к памяти по адресу *XXX*. Память не может быть «read»». Вместо XXX в данном сообщении обычно располагается совокупность каких-либо чисел и букв, ничего не говорящая пользователю. В данном материале я поясню, в чём суть данной дисфункции, и как её исправить.
Содержание
- «Память не может быть read» – специфика дисфункции
- Как исправить ошибку Инструкция по адресу * обратилась к памяти по адресу *. Память не может быть «read»
- Способ №1. Увеличьте объём виртуальной памяти
- Способ №2. Деинсталлируйте нестабильно работающие программы
- Способ №3. Обновите драйвера к вашим устройствам, установите обновления для вашей ОС
- Способ №4. Выполните откат системы на стабильную раннюю точку
- Способ №5. Выполните проверку целостности системных файлов.
- Способ №6. Отключите функцию предотвращения выполнения данных (DEP)
- Заключение
«Память не может быть read» – специфика дисфункции
Как следует из текста упомянутого сообщения, оно сигнализирует о наличии проблем с памятью, информация с которой не может быть считана по определённым причинам. Обычно это связано с ситуацией, при которой какое-либо приложение попыталось прочесть информацию, находящуюся в определённой странице памяти, не вышло этого выполнить, вследствие чего пользователь получил сообщение о возникшей ошибке.
Причины, по которым некая страница памяти оказалась заблокированной для нужного приложения, могут быть довольно различными. Это может быть некорректная работа планок памяти, устаревшие драйвера к системным устройствам, недостаточный объём файла подкачки, аппаратный конфликт устройств, нарушение целостности системных файлов, «осыпание» винчестера, множество других релевантных факторов.
Как исправить ошибку Инструкция по адресу * обратилась к памяти по адресу *. Память не может быть «read»
Для исправления дисфункции существует несколько эффективных решений, ниже я разберу каждое из них.
Способ №1. Увеличьте объём виртуальной памяти
Часто встречающейся причиной рассматриваемой дисфункции является недостаточный объём файла подкачки (виртуальной памяти).
- Для увеличения данного объёма нажмите на кнопку «Пуск», в строке поиска введите sysdm.cpl, и нажмите ввод.
- Перейдите во вкладку «Дополнительно», рядом с опцией «Быстродействие» нажмите на «Параметры».
- Далее выберите вкладку «Дополнительно», и рядом с параметром «Виртуальная память» нажмите на «Изменить».
- В открывшемся окне виртуальной памяти снимите галочку с опции «Автоматически выбирать объём файла подкачки».
- Затем активируйте опцию «Указать размер», и установите объём файла подкачки вдвое больший, нежели установлено памяти на вашем ПК (к примеру, если у вас 2048, то установите исходный и максимальный размер файла подкачки на 4096). З
- После этого нажмите на «Задать» — «Ок», и перезагрузите ваш ПК.
Пример:
У одного из пользователей во время работы одной игровой программы появилось сообщение «Инструкция по адресу «0x18797ca7» обратилась к памяти по адресу «0x000000». память не может быть «read»». После применения различных способов борьбы с ошибкой пользователь вдвое увеличил файл подкачки, после чего проблема была решена.
Способ №2. Деинсталлируйте нестабильно работающие программы
Если проблема возникла после установки какой-либо внешней программы, то есть вероятность, что данная программа работает нестабильно. Попробуйте поискать альтернативную версию данной программы (к примеру, репак другого автора), и установить её взамен проблемного софта. Если же мы имеем делом с программой-антивирусом или программой-брандмауэром, то попробуйте на время отключить указанный софт, дабы убедиться, что он не является катализатором возникновения проблемы.
Также стоит временно отключить недавно установленные расширения и дополнения для вашего браузера, так как их некорректная работа может вызывать различные проблемы при работе с памятью ПК.
Способ №3. Обновите драйвера к вашим устройствам, установите обновления для вашей ОС
Устаревшие драйвера к аппаратным компонентам системы, как и отсутствие необходимых обновлений для ОС Виндовс, может являться причиной возникновения рассматриваемой проблемы. Установите на вашу ОС все необходимые ей свежие обновления, а для аппаратных составляющих – все свежие драйвера. В установке последних могут помочь такие специальные программы для обновления драйверов уровня «DriverPack Solution»и других аналогов.
Способ №4. Выполните откат системы на стабильную раннюю точку
Довольно действенным способом борьбы с данной проблемой является откат системы на стабильную точку восстановления, при которой упомянутых проблем не наблюдалось.
- Для осуществления данной операции нажмите на кнопку «Пуск», в строке поиска введите rstrui, и нажмите ввод.
- Выберите стабильную точку восстановления, и откатите систему на указанное состояние.
Способ №5. Выполните проверку целостности системных файлов.
В случае, если некоторые системные файлы повреждены, у системы могут возникать проблемы при работе с памятью. Для проверки целостности системных файлов рекомендую использовать функционал утилиты sfc, для чего запустите командную строку от имени администратора, в ней введите:
sfc /scannow
И нажмите ввод. Дождитесь окончания процедуры, а затем перезагрузите компьютер.
Способ №6. Отключите функцию предотвращения выполнения данных (DEP)
Системная функция DEP (от Dáta Execútion Prevéntion – предотвращение выполнения данных), имеющаяся в ОС Виндовс, призвана препятствовать приложениям в выполнении кода, расположенного в «закрытых» областях памяти. При отключении данной функции она перестанет мешать упомянутым приложениям, что в ряде случаев поможет избежать ошибки «Инструкция по адресу * обратилась к памяти по адресу *. Память не может быть «read»».
- Чтобы выключить (или ограничить) работу данной функции нажмите на кнопку «Пуск», в строке поиска введите sysdm.cpl, и нажмите ввод.
- В открывшемся окне свойств системы перейдите во вкладку «Дополнительно», рядом с опцией «Быстродействие» нажмите на «Параметры».
- Здесь перейдите на вкладку «Предотвращение выполнения данных», активируйте опцию «Включить DEP для всех…, кроме..», нажмите на «Добавить» внизу, и укажите системе путь к исполняемому файлу программы, при работе которой вылетает рассматриваемая ошибка.
- После этого нажмите на «Применить», и перезагрузите ваш ПК.
Теперь DEP будет работать для всех программ, кроме указанной вами.
Если же вы хотите полностью отключить DEP, тогда запустите командную строку от имени администратора, и там наберите:
bcdedit.exe/set {current} nx AlwaysOff
Заключение
Причиной ошибки «Память не может быть read» могут быть различные факторы, описанные мной выше. Для решения проблемы выполните весь комплекс перечисленных выше советов, уделив особое внимание увеличению объёма виртуальной памяти и работе с «DEP» – это поможет исправить рассматриваемую в статье ошибку на вашем ПК.
Инструкция по адресу «0x*******» обратилась к памяти по адресу «0x*******». Память не может быть «written»
«ok»—завершение приложения
«отмена»—отладка приложения
или
Инструкция по адресу «0x*******» обратилась к памяти по адресу «0x*******». Память не может быть «read»
«ok»—завершение приложения
«отмена»—отладка приложения
В Windows есть такая функция «Предотвращение выполнения данных» (DEP). В некотором роде она предназначена для осуществления безопасности и стабильности системы. Функция DEP не препятствует установке потенциально опасных программ на компьютер, а только следит за тем, как программы используют память, и после установки SP2,
DEP по умолчанию включена для основных программ и служб Windows.
В данном случае ошибка возникает при обращении какой-либо программы или модуля программы напрямую к закрытому участку памяти.
Если при запуске какой-либо игры или программы появляется данная ошибка, Microsoft рекомендует добавить эту программу в список исключений.
Как решить проблему «инструкция по адресу, память не может быть written или read»:
щелчок правой кнопкой мыши на значке «Мой компьютер» -> свойства -> вкладка «дополнительно» -> в поле «быстродействие» нажимаете на кнопку «параметры» -> в появившемся окне на вкладке «предотвращение выполнения данных» ставится флажок напротив «Включить DEP для всех программ и служб, кроме выбранных ниже» -> становится активной кнопка «добавить», нажимая на которую можно добавить в список исключений нужные программы.
Недостаток этого способа в том, что нужно будет добавлять в этот список все игры и программы, которые могут вызвать данную ошибку.
Windows XP
Другой способ избавиться от этой ошибки — полностью проверить всю систему на наличие вирусов антивирусной программой с обновленными базами. Часто именно вредоносные программы вызывают подобные ошибки. Также подобные ошибки сочетаются с некоторыми другими (например, ошибки в каком-либо процессе) при подключении к интернету, либо во время работы в сети интернет.
Если антивирус НЕ обнаружил НИ ОДНОГО вируса, то в вашем случае проще отключить DEP целиком, путем редактирования файла boot.ini.
Файл boot.ini находится на диске C.
В нем ищем строчку:
multi(0)disk(0)rdisk(0)partition(1)WINDOWS=»Microsoft Windows XP Professional RU» /noexecute=optin /fastdetect
И меняем на:
multi(0)disk(0)rdisk(0)partition(1)WINDOWS=»Microsoft Windows XP Professional RU» /noexecute=AlwaysOff /fastdetect
Файл boot.ini может быть вообще скрыт. Чтобы его увидеть и открыть для редактирования нужно в меню «сервис» выбрать «свойства папки» —> «вид» —> убрать галочку с «скрывать защищенные системные файлы».
Windows Vista, Windows 7, Windows 10
– нажмите Пуск;
– в строке «Начать поиск» введите cmd или просто открыв пуск начинайте печатать «cmd»;
– под заголовком Программы щелкните правой кнопкой мыши на cmd.exe или строчке «Командная строка»;
– в появившемся меню выберите «Запуск от имени администратора»;
– введите пароль администратора, если появится соответствующий запрос;
– после приглашения системы введите команду bcdedit.exe /set {current} nx AlwaysOff
– нажмите Enter;
– появится сообщение «Операция успешно завершена»;
– закройте это окно.
Предотвращение выполнения данных (DEP) используется для предотвращения проникновения на компьютер вирусов и других угроз безопасности, которые выполняют вредоносный код из областей памяти, которые должны использоваться только операционной системой Windows и другими программами. Такой тип угроз безопасности наносит ущерб, занимая по очереди все области памяти, используемые программой.
Затем вирус распространяется и повреждает другие программы, файлы и даже контакты электронной почты. Но если вы будете своевременно обновлять базы антивируса и делать полную проверку компьютера хотя бы раз в неделю то все будет хорошо.
Если эта статья вам помогла, напишите в комментариях об этом пожалуйста. Если что-то не получилось, пишите, постараюсь помочь.