Почему приложения «нужно закрыть» или «перестать работать» и что я могу с этим сделать?

31362
manchester050 .

Во время использования приложения появляется следующее сообщение об ошибке (в зависимости от версии Windows):

Windows XP

[имя приложения] столкнулся с проблемой и должен быть закрыт. Приносим свои извинения за неудобства.

Windows Vista, Windows 7, Windows 8

[имя приложения] перестало работать

После этого приложение закрывается. Почему приложения «нужно закрыть» или «перестать работать» и что я могу с этим сделать?

6
Какое приложение? BBlake 12 лет назад 6
Они на самом деле не сожалеют. Daniel Beck 12 лет назад 6
Обратите внимание, что очистители реестра (шаг 2) чаще вызывают проблемы, чем решают их. Harry Johnston 12 лет назад 4
В дополнение к комментарию @ BBlakes, это законный? cutrightjm 12 лет назад 0
Что это за приложение? Win32, .Net? Если это не .Net, .Net Framework не имеет к этому никакого отношения. 12 лет назад 0

7 ответов на вопрос

5
Der Hochstapler

Прежде всего, эта ошибка не ваша вина.

Некоторые программисты забыли обработать какую-то ошибку в своей программе, поэтому она перестала работать.

Конечно, эта проблема не имеет быть в самом приложении (так программатор с крючка). Это может быть в Windows или во время выполнения MSVC, или во время выполнения .Net, или в драйверах вашей видеокарты, или что-то еще (именно поэтому вам всегда говорят устанавливать все обновления, прежде чем обращаться в службу поддержки).

Таким образом, вы получили все это, но проблема остается. Что теперь?

Что ж, теперь осталось только то, что рассматриваемое приложение неисправно, и программист не взялся за это ( A-HA! ). Так что это проблема автора программного обеспечения. Поэтому свяжитесь с ними и спросите, могут ли они помочь вам и решить эту проблему.

Но что, если они скажут мне, что их программное обеспечение идеально, я единственная с этой проблемой, и вообще, это моя вина?

Теперь самое интересное. Вы можете найти фактическую причину вашего сообщения об ошибке.
Что на самом деле приложение сообщило операционной системе, которая заставила операционную систему работать: « Вам нужно закрыть себя! »?

Для этого в вашем распоряжении много инструментов.

  • Лог-файлы
  • Журнал событий Windows
  • Монитор процесса

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

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

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

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

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

Два приложения. Одним из них является специальное программное обеспечение, которое создается нанятым, внештатным программистом. Но я НЕ хотел бы, чтобы он помог мне решить эту проблему по двум причинам. Во-первых, он работает на меня некоторое время, и есть много задач, которые необходимо выполнить. Так что я не хочу прерывать его работу этим. Вторая причина в том, что это программное обеспечение, которое создается, всегда работало без ошибок ДО того, как я удалил предыдущую версию .net Framework и установил .net Framework 4.0 (и ... следующий комментарий) manchester050 . 12 лет назад 0
Второе приложение - это конкретный файл в компьютерной игре Football Manager 2012. Этот конкретный файл - Editor.exe Oliver; Программное обеспечение Process Monitor. Как вы описали, кажется, что я мог бы попробовать, но я никогда не использовал его и не знаю, что именно с ним делать. Предполагается ли мне удалить «что-то» (что это за «что-то»?), Если это происходит в то же время, когда я пытаюсь запустить приложение, которое вызывает ошибку? manchester050 . 12 лет назад 0
4
mtone

Деинсталлировали предыдущие версии .NET Framework и установили 4.0

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

Чтобы избежать этой проблемы, новая версия .NET выпущена и может быть установлена ​​рядом с другими. Windowss управляет ими корректно, а затем загружает любую версию, которую запрашивает программа. Это позволяет без проблем запускать как старые, так и новые программы.

Я повторяю, когда приложение разработано для .NET 3.5, нельзя ожидать, что оно будет надежно работать на любой другой версии .NET .

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

mtone, так что я должен переустановить .net 3.5 или я должен удалить 4.0 и после этого переустановить 3.5 и после этого переустановить 4.0? manchester050 . 12 лет назад 0
@ manchester050 Вы можете установить их в любом порядке (Windows хранит их в отдельных папках), поэтому не нужно удалять 4.0. mtone 12 лет назад 0
mtone предложенное вами решение (установив 3.5 и 4.0) работало для одного из двух приложений. У второго все еще есть ошибка. Нужно ли устанавливать даже .net Framework 4.5? Но я думаю, что это еще не выпущено. Что еще я должен сделать? manchester050 . 12 лет назад 0
кто-нибудь? должен ли framework (4.0) быть на том же жестком диске, что и приложение, которое выдает "application.exe, обнаружил проблему и должно быть закрыто. Приносим извинения за неудобства"? Или можно получить доступ к файлам фреймворка, даже если приложение находится на другом жестком диске? Я не могу поставить его на тот же жесткий диск, что и фреймворк 4.0. manchester050 . 12 лет назад 0
@ manchester050 Рад, что все получилось. Уверен, что .NET автоматически и всегда устанавливается в папку C: \ Windows \ Microsoft.NET \ Framework. Нет, не беспокойтесь о 4.5 или других версиях, если вы не можете узнать, какая версия им действительно нужна. Другая ошибка, которая у вас есть, может отличаться от .NET. mtone 12 лет назад 0
Что мне делать? Кроме того, не могли бы вы перечитать мой предыдущий вопрос, потому что я думаю, что вы пропустили его. manchester050 . 12 лет назад 0
@ manchester050 .NET Framework устанавливаются в вашу папку Windows, обычно на диск C. Приложения могут запускаться из любого места. Кроме этого, попробуйте переустановить приложения снова или обратитесь к поставщику / производителю. Трудно догадаться, что может привести к сбою приложений - особенно когда это 1 или 2 конкретных приложения. Извините, я не могу помочь. mtone 12 лет назад 0
*> Вы * не * должны удалять платформы .NET * Просто продолжайте устанавливать новые версии поверх старых и накапливать файлы и записи реестра в системе. Объедините это с WinSxS, и вы получите еще больший беспорядок и растрату места, чем предполагалось. `` :-( Synetech 12 лет назад 1
Я ждал некоторое время, чтобы получить ответ. Сделал то, что сказали другие, но без помощи. Надеюсь, кто-то может наконец ответить с соответствующим решением. manchester050 . 12 лет назад 0
Mtone говорит: «Я повторяю, когда приложение разработано для .NET 3.5, нельзя ожидать, что оно будет надежно работать на любой другой версии .NET». Но Microsoft говорит (по адресу http://bit.ly/IPYsQK): «Исходный код, написанный для одной версии .NET Framework, должен компилироваться в более поздние версии .NET Framework, а также в двоичные файлы, которые работают на одной версии .NET Framework. должен вести себя одинаково в более поздних версиях .NET Framework. " Да, я вижу, что это говорит «должен», но все же «нельзя ожидать, что он будет работать надежно», кажется, по крайней мере, преувеличением. Dave Becker 12 лет назад 0
@DaveBecker Интересно. Я думал, что приложения, скомпилированные для определенной версии .NET, обычно даже не инициализируются должным образом, если у вас установлена ​​только более поздняя версия (например, 4.0 и ничего больше). Я мог ошибаться! mtone 12 лет назад 0
Может случиться так, что приложение, написанное в более ранней версии .NET, будет работать в более поздней, но только если автор включил параметры конфигурации, обеспечивающие такую ​​гибкость. Необходимы дополнительные исследования. Я думаю, я сделаю это вопрос! Dave Becker 12 лет назад 0
3
mtone

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

Переустановка .NET была обоснованным предположением, но мы не можем знать, какие другие файлы / записи реестра были удалены вашими утилитами очистки, и какие из них могли быть критическими.

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

Затем я заметил, что в вашем профиле вы разместили вопрос на stackoverflow, в котором вы указываете, что на вашем диске C «едва осталось килобайт» - что, вероятно, инициировало вашу очистку. Ну, ты знаешь, это было бы первым, что я бы попытался исправить на твоем месте. Вы должны всегда иметь как минимум 1 ГБ свободного.

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

Таким образом, мой второй ответ : получить новый (или использовать другой) больший основной жесткий диск как можно скорее. Если ваши приложения по-прежнему аварийно завершают работу, вам может потребоваться переустановить Windows и все приложения / драйверы на ней. Это большая работа, но в конечном итоге это отличное решение вашей проблемы (читай: почти наверняка это исправит).

Наконец, утилиты очистки не являются официальными утилитами. Это правда, что Windows, как правило, накапливаются вещи, но что по очистке коммунальных услуг делают хорошую работу в зачистки вниз спорно. Большая часть роста Windows происходит из библиотек (DLL), а также из-за обновлений и различных установленных приложений, которые в любом случае не должны пытаться связываться слишком много. Временные папки легко очищаются вручную. Часто лучшая очистка, которую вы можете сделать, - это удаление приложений, которые вам абсолютно не нужны. Вы знаете, я нахожу, что большинство инструментов очистки добавляют больше раздувания, чем все, что они чистят. Этот огромный список антивирусных программ, которые вы установили, также кажется излишним для этой работы.

Итак, мой третий ответ : будьте осторожны с уборкой в ​​будущем. Дисковое пространство достаточно дешево, чтобы вы могли избежать всех этих проблем, чтобы сэкономить несколько мегабайт.

Избавьтесь от удаления неиспользуемых приложений и время от времени удаляйте папки «TEMP» вручную. Насколько это возможно, избегайте установки многих приложений только для того, чтобы попробовать их - так как это способствует ненужному росту окон, который трудно вернуть. В идеале придерживайтесь одного хорошего антивируса, одного хорошего антивируса и всего, что вам нужно для работы. Избегайте возни с реестром!

«Вы должны всегда иметь по крайней мере ** 1 ГБ ** бесплатно». Я предлагаю проверить это утверждение на будущее, изменив его на «Вы должны всегда иметь по крайней мере ** 10% от емкости вашего диска ** бесплатно». По мере того, как размер жесткого диска среднего потребителя увеличивается с течением времени, увеличивается и минимальный объем свободного пространства, который требуется для обеспечения оптимальной производительности. Dan Henderson 6 лет назад 0
1
PenguinCoder

Во-первых, ошибка (Some program application) has encountered a problem and needs to close. We are sorry for the inconvenience.является полностью общим сообщением об ошибке Windows. Если было бы достаточно просто сказать «(некоторые программы) перестали работать, потому что разработчик не учел ошибку ID10-Tв стеке памяти», тогда общая ошибка действительно не понадобится!

Увы, разработчики и разработчики программного обеспечения не могут учитывать каждую и каждую отдельную вещь, которая может вызвать неожиданный сбой программы. Да, есть некоторые программы, которые имеют «отличные» методы обработки ошибок, которые выбрасывают случайные числа, которые означают «что-то», но даже для того, чтобы получить это, это означает, что разработчик учел ЭТО конкретную ошибку.

Некоторые причины, по которым может быть дано общее сообщение, связаны с такими вещами, как:

  • Общие ошибки доступа к памяти или ресурсам ( ошибка сегментации )
  • Неправильные настройки антивируса (запрет доступа к программе)
  • Ошибки режима совместимости (попробуйте запустить приложение в режиме совместимости для другой версии Windows)
  • Плохая практика кодирования разработчиком или недостаточное устранение ошибок / тестирование
  • Windows не поддерживает вызовы API, используемые приложением
  • Зависимости (другие платформы, библиотеки DLL, общие ресурсы) не обновлены или недоступны
  • и т. д.

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

1
SecurityMatt

«Приложение столкнулось с проблемой и должно быть закрыто. Приносим извинения за неудобства»

Это всегда ответ приложения, которое делает что-то, что означает, что программа не может безопасно продолжаться.

  • Что-то в процессе пошло очень плохо, и процесс больше не может продолжаться (обычно это куча, которая замечает переполнение кучи или срабатывает двойная свободная уязвимость).

  • Программа пыталась прочитать, записать или выполнить память, которой там нет или для которой операция недопустима (например, DEP останавливает выполнение данных в стеке).

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

Диалоговое окно Windows уведомляет вас о том, что программа умерла неконтролируемым образом, в то время как требуется аварийный дамп программы для отправки в службу отчетов об ошибках Windows. Эти аварийные дампы могут быть просмотрены разработчиками программы, чтобы попытаться исправить ошибку.

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

0
Simon Verbeke

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

Общие решения - переустановка программы или удаление ее временных файлов (утилиты очистки могут их не перехватить). Возможно, возникла исключительная ситуация, связанная с управлением учетными записями пользователей, поэтому попробуйте запустить программу от имени администратора (щелкните правой кнопкой мыши, запустите от имени администратора). В некоторых программах это также вызвано DEP (Data Execution Protection, система безопасности). На этой странице объясняется, как отключить его для вашей программы.

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

Также убедитесь, что вы установили последние обновления для Windows и этой конкретной программы.

0
bbodenmiller

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