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

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

В следующем разделе описаны известные проблемы, которые могут вызвать сообщение об ошибке «Ошибка неверной страницы» возникает в 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

Выполнена недопустимая операция (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
  • Медленный компьютер
  • Типы вредоносных программ

Кросспост из моего блога 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
———-
Перед выходом из программы почистил все объектные переменные.
Может кто чего подскажет. Как побороть эту ошибку.
ПОМОГИТЕ!

  • Программа вангуард не запущена код ошибки 128
  • Программа бизнес пак ошибка
  • Программа автоматического исправления ошибок при наборе текста
  • Программа автоисправление ошибок windows 10
  • Программа zona ошибка no data