Программа выполнила недопустимую ошибку и будет закрыта

Выполнена недопустимая операция (Illegal Operation). Как исправить? Решаем проблему.

Программа выполнила недопустимую операцию и будет завершена (The program has performed an illegal operation and will be shut down). Исправляем ошибку

Недопустимая операция (Illegal Operation). Ошибка: Программа выполнила недопустимую операцию и будет закрыта. Находим причины и исправляем ошибку | Интернет-профи

Недопустимая операция (Illegal Operation). Ошибка: Программа выполнила недопустимую операцию и будет закрыта. Находим причины и исправляем ошибку

Решение:

1.TSR-программы или сторонние программы.

TSR — резидентные или сторонние программы, работающие в фоновом режиме, являются одной из наиболее часто встречающейся причины появления сообщения о выполнении Illegal operations (недопустимых или запрещённых операций). Если при попытке запустить игру или программу Вы получаете сообщение: «Программа выполнила недопустимую операцию и будет закрыта», то рекомендуется временно отключить все программы, работающие в фоновом режиме, чтобы гарантированно знать, что эти программы не вызывают у Вас вопросов и не являются искомой причиной.

  • Как удалить резидентные программы (TSR) из оперативной памяти
  • Как удалить резидентные программы и программы из автозапуска

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

2. Данные от источника не читаются должным образом.

Если при запуске программы или игры с компакт-диска или другого носителя Вы получите недопустимую (Illegal) операцию, убедитесь, что компакт-диск или флешка не имеют физических ошибок, выполнив сканирование.

3. Установка программы или игры на жёсткий диск, который содержит ошибки или сильно фрагментирован

Если при установке программы или игры на жёсткий диск Вы получили сообщение об описываемой в этой статье ошибке, то рекомендуется запустить программу сканирования диска, а затем дефрагментацию, и, наконец, только после этого установить программу или игру.

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

  • Проверка и ремонт жесткого диска. Программы Microsoft ScanDisk и ChckDsk
  • Microsoft Defrag — дефрагментация диска

4. Имеются файлы, подверженные порче.

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

5. Использование менеджеров памяти.

Если вы работали с какой-то программой-менеджером памяти, которая предназначена для получения дополнительного объёма памяти, или манипулировали с памятью компьютера при помощи каких-то утилит или при замене Windows, рекомендуется временно отключить или переустановить эту программу или утилиту, чтобы проверить, не влияет ли данный менеджер памяти на появление запрещённых (недопустимых) операций.

6. Неправильно работающие или устаревшие версии драйверов видео.

Работа таких драйверов видео может привести к запрещённым операциям при выполнении таких задач, как перемещение мыши при выделении данных или переносе данных с одного источника на другой и т.п., когда предъявляются высокие требования к видеокарте.

Попробуйте уменьшить разрешение настроек видео, чтобы убедиться, что ошибки при запуске программы или игры появляются не из-за текущих настроек видео. Убедитесь также, что компьютер использует последнюю версию драйвера видеокарты.

  • Как установить или изменить разрешение экрана в Microsoft Windows?

7. Вирус в компьютере.

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

8. Добавленное оборудование и аппаратное обеспечение.

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

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

9. Ошибка в программе кодирования.

Если вы получаете сообщение о недопустимой операции (Illegal Operation) только при работе с конкретной программой, убедитесь, что программа совместима с версией Windows, в которой Вы работаете, и отсутствуют патчи в программе (патч или «заплатка» — это отдельное программное средство для изменения или исправления функционала основной программы) и попробуйте использовать утилиты, которые способны исправить найденные ошибки.

10. Повреждённая память, недействительные биты или недостаточная физическая память.

Вполне возможно, что причиной вызова недопустимых операций может стать повреждённая память. Если Вы недавно производили манипуляции с памятью на компьютере (например, добавили память), попробуйте временно удалить источник дополнительной памяти, чтобы убедиться, что конфликты возникают не на этой почве.

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

  • Как проверить память?

11. Проблемы в ОС Windows.

Поскольку Windows контролирует операции с памятью, а также структуры файлов и их связи, то могут быть повреждены файлы самой операционной системы Windows или файлы, связанные с ОС Windows, в результате чего возникают сообщения о недопустимых операциях или о других ошибках. Если Вы слишком часто получаете такие сообщения, то в этом случае лучшим вариантом решения проблемы будет переустановка ОС Windows.

_______________________

  • Недопустимая операция. Причины
  • Проверка и ремонт жесткого диска. Программы Microsoft Chkdsk и ScanDisk
  • Медленный компьютер
  • Типы вредоносных программ

Известные проблемы

В следующем разделе описаны известные проблемы, которые могут вызвать сообщение об ошибке «Ошибка неверной страницы» возникает в Outlook Express 5. Если не удается найти ошибки в списке, может показаться в недавно опубликованной статьи. Для получения последних сведений о сообщении об ошибке «Ошибка неверной страницы» запрос базы знаний Майкрософт сообщения об ошибке. На следующем узле Microsoft Уэс находится базы знаний Майкрософт:

http://support.microsoft.com

Обращении к странице памяти в модуле Kernel32.dll

При попытке запустить Microsoft Internet Explorer или Outlook Express на компьютере под управлением Microsoft Windows 98 или Microsoft Windows 95, компьютер может перестать отвечать на запросы (зависает) и появляется одно из следующих сообщений об ошибке:

Программа Explorer вызвала ошибку неверной страницы в модуле Kernel32.dll.

Commgr32 вызвала ошибку неверной страницы в модуле Kernel32.dll.

Mprexe вызвала ошибку неверной страницы в модуле Kernel32.dll.

MSGSRV32 вызвала ошибку неверной страницы в модуле Kernel32.dll.

Программа Iexplore вызвала ошибку неверной страницы в модуле Kernel32.dll.

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

187965 сообщение об ошибке: «Программа Explorer вызвала ошибку неверной страницы в модуле Kernel32.dll»

Недопустимая страница при выходе из Outlook Express 5

При попытке завершить работу Outlook Express 5, может появиться одно из следующих сообщений об ошибке:

Программа MSIMN вызвала ошибку неверной страницы в модуле WSOCK32. DLL

Программа MSIMN вызвала ошибку неверной страницы в модуле KERNEL32. DLL

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

225254 Программа MSIMN приводит к неверной страницы при выходе из Outlook Express

Недопустимая страница при использовании правил или получение сообщений в Outlook Express

При запуске Outlook Express или при получении сообщения, может появиться одно из следующих сообщений об ошибке:

Программа MSIMN вызвала сбой при обращении к странице памяти в модуле нет

Программа MSIMN вызвала ошибку неверной страницы в модуле MSOE. DLL по адресу памяти

Программа MSIMN вызвала сбой при обращении к странице памяти в модуле kernel32.dll

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

225096 при использовании некоторых правил в Outlook Express появляется сообщение

Недопустимая страница Если отсутствует или поврежден файл Folders.dbx

При запуске Outlook Express или при попытке отправить сообщение, может появиться одно из следующих сообщений об ошибке:

Программа MSIMN вызвала ошибку неверной страницы в модуле MSOE.

Программа MSIMN вызвала ошибку неверной страницы в модуле «нет данных»

Программа MSIMN вызвала сбой при обращении к странице памяти в модуле DIRECTDB.

Программа MSIMN вызвала исключение C0000006h в модуле DIRECTDB.

Программа Outlook Express: Не удалось отправить сообщение. Не хватает места на диске.

Произошла неизвестная ошибка. Протокол: Порт SMTP: 0 Secure: ошибка [SSL]: 0x800c0131

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

233264 сообщение об ошибке, если файл Folders.dbx, отсутствует или поврежден

Недопустимая страница при обновлении до Windows 98 второго издания Windows 98

После обновления Windows 98 для второго выпуска Windows 98 может появиться следующее сообщение об ошибке:

Mprexe вызвала ошибку неверной страницы в модуле kernel32.dll по адресу 0167:bff719d1

Для получения дополнительных сведений щелкните номер статьи базы знаний Майкрософт ниже:

Сообщение об ошибке 238454 : Mprexe вызвала сбой при обращении к странице памяти в модуле…

Недопустимая страница с MSIMN при использовании Outlook Express

При использовании Outlook Express может появиться следующее сообщение об ошибке:

Программа MSIMN вызвала ошибку неверной страницы в модуле WININET. DLL

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

274474 сообщение об ошибке: «MSIMN вызвала ошибку неверной страницы в модуле WININET. «DLL»

Недопустимая страница в MSIMN при запуске Outlook Express

При попытке запустить Outlook Express может появиться следующее сообщение об ошибке:

Программа MSIMN вызвала сбой при обращении к странице памяти в модуле MSOEACCT. DLL.

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

Сообщение об ошибке 224141 : MSIMN вызвала ошибку неверной страницы в модуле MSOEACCT. DLL

Недопустимая страница ошибки при вам импортировать сообщения в Outlook Express

При попытке импортировать сообщения в Outlook Express 5, может появиться следующее сообщение об ошибке:

Программа MSIMN вызвала ошибку неверной страницы в Pimab32.dll.

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

Сообщение об ошибке 224188 : Программа MSIMN вызвала ошибку неверной страницы в PIMAB32. DLL

Недопустимая страница при импорте сообщений из Outlook Express 5 бета-версии 2

При импорте сообщений из Outlook Express 5 бета-версии 2 может появиться одно из следующих сообщений об ошибке:

Программа MSIMN вызвала ошибку неверной страницы в модуле DIRECTDB. DLL.

Программа MSIMN вызвала исключение в модуле DIRECTDB..

Программа MSIMN вызвала исключение c0000006h в модуле DIRECTDB..

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

Сообщение об ошибке 225867 : Программа MSIMN вызвала ошибку неверной страницы в модуле DIRECTDB. DLL

Недопустимая страница после установления подключения к Интернету

При запуске Outlook Express после установки подключения к Интернету, может появиться следующее сообщение об ошибке:

Программа MSIMN вызвала сбой при обращении к странице памяти в модуле нет.

Это может привести в трех последовательных диалоговые окна, содержащие одно и то же сообщение об ошибке.

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

238585 сообщение об ошибке: «Программа MSIMN вызвала ошибку неверной страницы в модуле нет»

Q238656 OLEXP: сообщение об ошибке: «программа выполнила недопустимую операцию

При попытке запустить Outlook Express может отображаться следующее сообщение об ошибке:

Эта программа выполнила недопустимую операцию и будет закрыта.
Если ошибка повторится, обратитесь к поставщику программы.

Если нажать кнопку » Подробности «, появляется следующее сообщение об ошибке:

Программа MSIMN вызвала ошибку неверной страницы в модуле Msoe.dll адрес.

Программа Outlook Express может запуститься, но может появиться одно из следующих сообщений об ошибке:

Не удается запустить Outlook Express. Он может устанавливаться неправильно. Убедитесь, что диск не переполнен или что не хватает памяти. За помощью в службу поддержки Microsoft. (0x800c012e)

Программа Outlook Express не может быть запущен, так как не удалось инициализировать библиотеку MSOE. Программа Outlook Express не могут быть установлены правильно.

Одно из следующих сообщений об ошибке может отображаться в области предварительного просмотра в Outlook:

Не удается отобразить папку.

Outlook express не удается открыть эту папку. Возможные причины: недостаточно места на диске. Недостаточно памяти.

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

238656 сообщение об ошибке: «программа выполнила недопустимую операцию и будет завершена»

Недопустимая страница после загрузки Internet Explorer

После загрузки Internet Explorer может не удастся запустить Outlook Express или открыть адресную книгу Outlook Express, и появляется следующее сообщение об ошибке:

Эта программа выполнила недопустимую операцию и будет закрыта. Если ошибка повторится, обратитесь к поставщику программы.

Если нажать кнопку Подробнее, может отображаться следующее сообщение об ошибке:

Программа MSIMN вызвала ошибку неверной страницы в модуле WAB32.dll.

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

Сообщение об ошибке 247706 : MSIMN вызвала ошибку неверной страницы в модуле Wab32.dll

Недопустимая страница при отправке сообщения в Outlook Express

При отправке сообщений в Outlook Express может появиться следующее сообщение об ошибке:

Эта программа выполнила недопустимую операцию и будет закрыта.

Если нажать кнопку Подробнее, может появиться следующее сообщение об ошибке:

Wnmsgupdt вызвала ошибку неверной страницы в модуле kernel32.dll.

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

Сообщение об ошибке 273716 «Wnmsgupdt вызвала сбой при обращении к странице памяти в модуле Kernel32.dll» при отправке сообщения электронной почты

Недопустимая страница при составлении сообщения в Outlook Express

При создании сообщения в Outlook Express может появиться одно из следующих сообщений об ошибке:

Не удалось выполнить операцию. Не удалось загрузить Riched32.dll. Установите заново.

Программа MSIMN вызвала ошибку неверной страницы в модуле Riched32.dll

Программа MSIMN вызвала исключение 0000006h в модуле Riched32.dll

При попытке создать новое сообщение в Microsoft Exchange или системы обмена сообщениями Microsoft Windows, может появиться одно из следующих сообщений об ошибке:

Не удается отобразить элемент. Необходимо больше памяти или системных ресурсов. Закройте некоторые окна и повторите попытку.

EXCHNG32 вызвала ошибку неверной страницы в модуле Riched32.dll

При попытке запустить Microsoft WordPad, может появиться следующее сообщение об ошибке:

Не удалось загрузить библиотеку управления RichEdit. Возможно, файл Riched32.dll отсутствует или поврежден.

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

Сообщение об ошибке 218838 Riched32.dll при запуске программы электронной почты или WordPad

Недопустимая страница при запуске Internet Explorer и Outlook Express

При запуске Internet Explorer и Outlook Express может появиться одно из следующих сообщений об ошибке:

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

Эта программа выполнила недопустимую операцию и будет закрыта. Если ошибка повторится, обратитесь к поставщику программы.

Если нажать кнопку Подробнее, может появиться одно из следующих сообщений об ошибке:

Программа IExplore вызвала ошибку неверной страницы в модуле MLang.dll

Программа MSIMN вызвала ошибку неверной страницы в модуле MLang.dll

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

Сообщение об ошибке с поврежденный шрифт 274419 или если файл Mlang.dll не зарегистрирован

Исправление для уязвимости вложение OCX Недопустимая страница

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

Эта программа выполнила недопустимую операцию и будет закрыта.

Если нажать кнопку Подробнее, может появиться следующее сообщение об ошибке:

Вызвала ошибку неверной страницы в модуле Wmp.ocx адресу <, > OUTLOOK

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

274303 исправление, устраняющее уязвимость OCX вложения

Устранение неполадок при обращении к странице памяти сообщения об ошибках

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

Закройте Outlook Express всех программ за исключением

Убедитесь, что другие программы не работают при попытке устранить сообщения об ошибке. Если сообщение об ошибке «Ошибка неверной страницы» будет устранена после закрытия всех программ, поведение может возникнуть в результате взаимодействия Outlook Express с этой программой. Чтобы закрыть все программы в диспетчере задач Windows до повторного запуска Outlook Express, выполните следующие действия:

  1. Нажмите сочетание клавиш CTRL + ALT + DELETE, чтобы открыть диспетчер задач

  2. Выберите выполняющуюся программу и нажмите кнопку Завершить задачу.

  3. Повторите шаг 2, пока не только запущенные программы Internet Explorer и Systray.

Примечание: компьютер под управлением Windows 2000, используйте диспетчер задач для закрытия всех приложений.

Создание нового удостоверения

При создании и использовать новое удостоверение, можно определить, если появляется сообщение об ошибке из-за повреждения идентификационных данных Outlook. Чтобы создать новое удостоверение:

  1. В меню файл пункт удостоверенияи нажмите кнопку Добавить новое удостоверение.

  2. В поле Введите имя введите имя для нового удостоверения.

  3. Нажмите кнопку ОК, а затем нажмите кнопку Закрыть.

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:

209169 Создание и использование удостоверений в Outlook Express 5.x и 6.0

Как переименовать и восстановить поврежденные файлы

Если вы считаете, что один из нескольких файлов, перечисленных в сообщение об ошибке «Ошибка неверной страницы» повреждены, переименуйте файл, а затем переустановить обозреватель Internet Explorer и Outlook Express.

До удаления и переустановки Outlook Express, создайте резервную копию всех данных.

Дополнительные сведения о резервном копировании данных щелкните следующий номер статьи базы знаний Майкрософт:

Как 270670 для резервного копирования и восстановления данных Outlook Express

Как связаться со службой поддержки корпорации Майкрософт

Если действия, описанные в этой статье не устранить ошибки, проблемы является один неизвестный или сложной задачей. Обратитесь службу технической поддержки Майкрософт за помощью. Можно получить сведения о вариантах поддержки на следующем узле среда Microsoft:

http://support.microsoft.com/selectindex/?target=assistance

Фактически это старое доброе «программа выполнила недопустимую операцию и будет закрыта» :) То есть сообщение о том, что некая программа, написанная неким криворуким программером выполнила некую недопустимую с точки зрения ОС операцию (как правило, запись в область памяти, не принадлежащей программе) и будет закрыта.
Кроме того, за такими табличками обожают прятаться вирусы — на самом деле он уже все сделал, а табличка это — просто на…дувательство :)

Кросспост из моего блога http://the-gr8.cih.ms/2010/01/blog-post_7649.html
[​IMG]
Всем знакомое назойливое окошко позволяет вызвать just-in-time отладчик, но самое обидное, что этот отладчик может быть только один единственный. А мне вот захотелось иметь возможность выбора между отладчиками — запустить олли, WinDbg или же создать минидамп с помощью ntsd.
[​IMG]
Список отладчиков хранится в подключах HKLMSoftwareMicrosoftWindows NTAeDebug в виде подключей «0», «1», «2», …
default value в них — путь к отладчику, а значение Name — отображаемое имя.
Добавить новый можно с помощью regedit. По умолчанию выбирается отладчик «0», имейте в виду, когда будете составлять список.

Список параметров (мини-хелп):

* -i установка. Старый отладчик ставится в список нулевым HKLMSoftwareMicrosoftWindows NTAeDebug с названием «Default» (если оно свободно, если занято, то ничего не меняется — на случай установки поверх уже установленного). Так же это можно юзать, если какой-то другой отладчик «занял» место jitmgr, тогда он восстановит себя в качестве jit отладчика. Параметр Auto меняется на 1 — окно dwwin более не отображается (его заменяет окошко jitmgr с расширенной информацией и выбором отладчика).
* -u uninstall. Нулевой отладчик из списка ставится на место jitmgr.
* %ld %ld параметры для вызова как jit. Первый — Process ID, второй — Event Handle. Так же может быть третий параметр — —log. В этом случае jitmgr логирует свой собственный отладочный вывод DbgPrint в jitmgr.log в корень системного диска. Рекомендуется установить этот флажок — jitmgr иногда лажает с определением EXCEPTION_RECORD. Эти файлы в случае фейла jitmgr (покажет messagbox) прошу присылать мне: [​IMG]

Отдельного внимания заслуживает поиск EXCEPTION_RECORD* указателя в рухнувшем процессе. Для этого вкратце опишу механизм работы стандартного UnhandledExceptionDispatcher:

* если параметр Auto==0, то подгружается faultrep.dll и вызывается ее ф-я ReportFault
* ReportFault создает секцию с информацией об исключении и запускает dwwin.exe -x -s SectionHandle, который отобржает окно «xxx has encountered a probled and needs to close» с кнопками Debug и Close (кнопка Send у меня отключена :).
* при нажатии Debug ReportFault() возвращает определенное значение, по которому UnhandledExceptionFilter запускает процесс по пути из реестра параметр AeDebugDebugger, передавая в параметры PID и хендл евента, который отладчик должен сигнальнуть по окончании (видимо, для корректного завершения процесса).
* UnhandledExceptionFilter делает ZwWaitForMultipleObject() на объектах процесса отладчика (на случай, если он завершится, так и не сигнальнув евент) и на евенте. По причине ожидания на процессе отладчика, jitmgr не завершается, пока не отработает запускаемый отладчик, иначе завершение jitmgr потенциально может убить рухнувший процесс, если отладчик решит его разморозить. Впрочем, он тогда и евент отсигналит, но в любом случае надо повисеть, пока дочерний отладчик не приаттачится, иначе он не успеет за завершающимся процессом.

Поскольку UnhandledExceptionFilter thread-safe функция, во время ожидания на евенте и процессе отладчика в других потоках могут возникнуть каскадные исключения, являющимися следствиями первого или имеющими общую причину. Поэтому даже нажатие на Close в окне dwwin не всегда завершает процесс (многие замечали?). Вероятно, он просто сигналит евент и завершается. Для предотвращения этого у меня в jitmgr а) на время работы jitmgr оборачивается в ZwSuspendProcess/ZwResumeProcess, замораживая процесс и б) есть кнопка «Kill Process», которая насильно убивает процесс сразу же.
Алгоритм поиска EXCEPTION_RECORD:

* перебрать все потоки, найти потоки, у которых State == THREAD_STATE_WAIT
* для каждого потока в состоянии ожидания получить контекст, прочитать содержимое стека по адресу Context.Ebp, которое в случае вызова из UnhandledExceptionFilter должно иметь следующую раскладку (подчеркиваю — содержимое по EBP. По ESP будет адрес возврата в ZwWaitForMultipleObjects):

1. (ebp+0) old EBP
2. (ebp+4) адрес возврата из UnhandledExceptionFilter в фильтр исключений SEH (блок __try/__except) функции BaseThreadStart или BaseProcessStart
3. (ebp+8) указатель на EXCEPTION_POINTERS — первый параметр UEF.

* найти базу kernel32.dll в дочернем процессе через раскрутку SEH: я никогда не видел Address Space Layout Randomization (ASLR), поэтому предположил, что это сработает :)
* проверить, что *(ebp+4) принадлежит кернелу (еще можно проверить, что *esp — адрес возврата в ZwWaitForMultipleObjects действительно указывает туда, но это, имхо, уже лишнее; также можно проверить, что *ebp и *(ebp+8) принадлежат стеку этого потока)
* проверить, что по адресу *(ebp+4)-5 действительно расположен call UnhandledExceptionFilter
* в случае успеха всех условий, прочитать **(ebp+8) — указатель на EXCEPTION_RECORD

Замечания и критика приветствуются. Выводится инфа в OutputDebugString (смотреть в DbgView), в случае ошибки поиска EXCEPTION_RECORD инфа дублируется в jitmgr.log — прошу высылать этот файл, если будет такая ошибка.

P.S. Раньше была кнопочка Minidump (между Debug и KillProcess), но была выпилена по причине, что проще добавить ntsd явно в список отладчиков.
P.P.S. Была мысля добавить автодобавление нового отладчика при указании пути к exe и выборе типа отладчика (чтобы автоматом дописывались параметры для известных отладчиков).

Исходники и EXE в аттаче

Студворк — интернет-сервис помощи студентам

Значит в проге используются потоки. Все работает отлично.
Но при выходе сразу после команды END вылетает следующая ошибка

Программа выполнила недопустимую операцию и будет закрыта.
По кнопке сведения выдает следующее
————
Программа PROJECT1 вызвала сбой при обращении к странице памяти
в модуле MSVBVM60.DLL по адресу 0167:66014555.
Регистры:
EAX=00000000 CS=0167 EIP=66014555 EFLGS=00010206
EBX=ffffffff SS=016f ESP=0064fc30 EBP=0064fc34
ECX=00401182 DS=016f ESI=020bfe9c FS=3c77
EDX=8194ebfc ES=016f EDI=0064fce0 GS=0000
Байты по адресу CS:EIP:
8b 46 0c 8b 00 8b 40 04 89 45 08 eb e7 33 c0 eb
Содержимое стека:
0127f010 0064fc50 66014e73 00000000 66014d99 0064fce0 0127f010 00000000 0064fc70 6601b4ad 00000001 0127f010 00000000 00000000 00000000 0117f114
———-
Перед выходом из программы почистил все объектные переменные.
Может кто чего подскажет. Как побороть эту ошибку.
ПОМОГИТЕ!

English Русский Причина Действие пользователя Версия
При входе в приложение
Limit of licenses exceeded! Недостаточно лицензий! Недостаточно лицензий Докупить лицензий приложения
Unsupported platform version! Please download new version. Данная версия платформы не поддерживается! Пожалуйста, обновите приложение. Данная версия платформы не поддерживается Обновить приложение на устройстве
Invalid user name or password! Некорректное имя пользователя или пароль! Некорректное имя пользователя или пароль Ввести имя пользователя и пароль снова или обратиться в службу поддержки
User name or password can not be empty! Имя пользователя и пароль не могут быть пустыми! Имя пользователя и пароль не могут быть пустыми Вести имя пользователя и пароль
Invalid address Адрес указан некорректно Адрес в настройках указан некорректно Указать в настройках корректный адрес сервера
Server configuration has been modified. You must perform a full synchronization. Set the property ‘Clear cache’ in the settings and restart the application. Unsynchronized data is lost. Конфигурация сервера была изменена. Необходимо выполнить полную синхронизацию. Установите свойство ‘Очищать кэш’ в настройках и перезагрузите приложение. Несинхронизированные данные будут потеряны. Конфигурация сервера была изменена (выгружены метаданные) Очистить кеш
Unable to load the solution Не удается загрузить приложение Непредвиденная ошибка при загрузке приложения Обратиться в службу поддержки
An error occured on the server. Try again later Операция прервана. Попробуйте подключиться позднее. Непредвиденная ошибка на сервере Подождать или обратиться в службу поддержки
Error connection to the server. Try to check your internet connection Нет доступа к серверу. Проверьте Ваше интернет соединение. Нет доступа к серверу Убедится в наличии интернет соединения.
Unable to find solutions resources. Try to reinstall application Не удается загрузить компоненты. Попробуйте переустановить приложение. Не удается загрузить компоненты. Ресурсы приложения не выгружены на сервер. Обратиться в службу поддержки
Connection error. Open web browser and check you internet connection. Ошибка соединения. Откройте браузер и проверьте Ваше интернет соединение. Запрос вернул неожиданный ответ. Запустить браузер и проверить корректность интернет соединения. Возможно роутер или билинговая система перехватывают веб запросы. 2.3.14.122
При работе с камерой или галереей
Unable to save photo. Memory card does not exists or damaged. Не удается сохранить фотографию. Возможно карта памяти не установлена или повреждена. Не удается сохранить фотографию. Возможно карта памяти не установлена или повреждена Проверить карту памяти телефона и установить новую при необходимости
При синхронизации файлов
An error occurred during IO operartion Произошла ошибка во время операции ввода/вывода Ошибка, возникающая при работе с файловой системой Проверить карту памяти телефона или обратиться в службу поддержки
В остальных случаях

An unexpected error occured.

This Program Has Performed an Illegal Operation and Will Be Shut Down. All data have been saved.

Обнаружена непредвиденная ошибка.

Программа выполнила недопустимую операцию и будет закрыта. Данные сохранены.

Непредвиденная ошибка выполнения приложения. Причина может быть как в платформе, так и в прикладном приложении. После вывода сообщения работа приложения будет прекращена

Согласиться отправить отчет разработчикам и обратиться в службу поддержки

Database file was corrupted. Set the property ‘Clear cache’ in the settings at next execution of application. Unsynchronized data is lost.

This Program Has Performed an Illegal Operation and Will Be Shut Down. All data have been saved.

Файл базы данных был поврежден. Установите свойство ‘Очищать кэш’ в настройках при следующем запуске приложения. Несинхронизированные данные будут потеряны.

Программа выполнила недопустимую операцию и будет закрыта. Данные сохранены.

Ошибка, вызванная повреждением файла базы данных. После вывода сообщения работа приложения будет прекращена

При следующем запуске приложения в настройках поставить галочку «Очищать кеш».

2.3.13.117

«Программа выполнила недопустимую операцию…»

Ø

Я
   «Программа выполнила

10.11.04 — 11:19

Я работаю с клиентами по наладке и установке 1С. И вот у некоторых из них довольно часто происходит по непонятным мне причинам вылет из 1С с вышеуказанным сообщением(«Программа выполнила недопустимую операцию и будет закрыта»). При этом никаких номеров ошибки больше не выдается. Просто 1С закрывается и все. Причем причину я выяснить не могу, т.к. при повторном запуске такой ситуации м. и не быть. А если она происходит всегда, то спасет либо перезагрузка машины, либо просто все начинает нормально работать на следующий день.
Замечено это было в основном Вин98 и вроде еще(точно не берусь вспомнить) под Вин2000. И причем все время либо при печати (посылке на принтер уже готовой таблицы), либо при открытии формы кого-нибудь регламентированного отчета (опять же присутствует таблица в форме). Происходит это в основном на стареньких пнях (1,2), но которые еще вполне нормально работают.
Дело явно не в кривости написанной начинки документа или отчета. Дело во взаимодествии ОС и самой платформы 1С. Кто в курсе — подскажите, что является причиной, и как м. уменьшить процент вылетов 1С? И как это объяснить клиентам :)? (ведь спрашивают же)

   warenic

1 — 10.11.04 — 11:22

<><>‹—Гаґџ“З©ґ•цЊВЕг¶И“ђыІИфЉ•ГGгІџ›“©І•§Љ—Гг¶И“ђяІ•чЉ’”OгзџЖђэІ•уЉЕГGґеИ“ђяІ’р‰ћГOгІњА“ьеАN§Э—ГLгіџВ“«ІАҐЉ—”µеМ‘В«д•уЉВАNгдџ–З©±З Љ”Гґ¶џЖђЁ±‘уЉ•ГGгдџ“З©±Б Љ–Аґ¶џ—ђЎІВ­ЉђГGгіџљЗ©ІИOҐЉВАMгањ“ђ©ІВ­ЉЕГOа·њАЗ©ІВOҐЉЖГа·џАђь±БOҐЉ•Ггіџ‘ђ©±ВцЭ—АNґ¶џЕђьІ‘ ЉДГгвџ“ђъІИOр罹††ъЈх™Чр}•е

   Zanuda

2 — 10.11.04 — 11:22

Я подозреваю, что одна или несколько сетевух глючат. Соединение с сервером прерывается, и вот результат. По моему, проблеме в сетке.

   edd

3 — 10.11.04 — 11:26

(2) В общем ты угадал в 90% — это компы в сети. Но вот был случай, кода глючил именно комп, на котором стояла база, и где была программа 1С сама. Спасло то, что второй ОС стоял XP — под ним проблем не было.

   Zanuda

4 — 10.11.04 — 11:29

(3) С такой проблемой не сталкивался.

   edd

5 — 10.11.04 — 11:32

А ОС какая утебя?
Еще дополнение к теме: не всегда при печати. Иногда просто при загрузке 1С. В самом начале при работе процедуры инициализации. Это как раз тот случай, когда и 1С и база были на одной машине.

   Zanuda

6 — 10.11.04 — 11:35

(5) Операционка — винда 2000. А при и нициализации — может быть одновременно на другом компе кто-нить тоже пытался в базу войти. 1С поди по таймауту и вылетела…

   edd

7 — 10.11.04 — 11:43

Исключено: все было на одной машине. И была она не в сети. К тому же если таймаут, то она не вылетает сразу, а говорит, что истекло время ожидания и что-то там еще.

   noook

8 — 10.11.04 — 11:45

память
сетевухи
винда в последнюю очередь(если нормально поставлена была)

   Spirtus

9 — 10.11.04 — 11:46

Мне в свое время помогла игра с дровами принтера. Игра заключалась в шаманских плясках с бубном и установке дефолтных драйверов из операционки.

   kamazist

10 — 10.11.04 — 11:51

У меня была проблема с печатью регламентированных отчетов. Когда отправляешь на печать вылетала 1С-ка. Спасла переустановка предприятия. По видимому в твоем случае все же гонит винда.

   Путин

11 — 10.11.04 — 11:54

У меня регулярно подобная ситуация. Подозрение на аппаратную часть (память?)

   edd

12 — 10.11.04 — 11:59

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

Здраствуйте, Владимир Владимирович. (:-)) да, только вот под той же аппаратной частью по 98 — глючит почти всегда (войти нельзя — при инициализации), а вот по XP там же — все без проблем. Драйвера, ядро…?

Понравилась статья? Поделить с друзьями:
  • Программа вангуард не запущена код ошибки 128
  • Программа для исправления ошибок внешнего жесткого диска
  • Программа вангуард античит не запущена валорант ошибка 128
  • Программа для исправления ошибок виндовс 10 на русском
  • Программа автоисправление ошибок windows 10