Отчет о ошибках windows 7. Как отключить оповещение об ошибках

30.09.2009 17:12

Если вы не хотите, чтобы информация об ошибках операционной системы и установленных программ сохранялась на компьютере и отправлялась в Microsoft, то вы можете настроить параметры сохранения и отправки отчетов об ошибках Windows 7.

Параметры отправки отчетов об ошибках и поиска решений проблем можно настроить двумя способами:

Важно : после изменения настроек отчетов об ошибках вы не сможете получать информацию о решении проблем в Центре поддержки Windows 7. Изменяйте эти настройки только если вы точно знаете, зачем вам это нужно.

Настройка отчетов об ошибках с помощью Центра поддержки Windows 7

1. Откройте Панель управления > Центр поддержки .

2. Нажмите Обслуживание > Параметры .

3. Чтобы изменить параметры отправки отчетов об ошибках для своей учетной записи, выберите один из предложенных вариантов:

  • Автоматически проверять наличие решений (рекомендуется) – каждый раз при возникновении ошибки Windows 7 будет формировать полный отчет о критическом событии. Затем, при наличии подключения к Интернету, этот отчет будет автоматически отправлен в Microsoft. Если решение этой проблемы доступно в базе Microsoft, то в Центре поддержки появится уведомление об этом;
  • Автоматически проверять на наличие новых решений и при необходимости отправлять дополнительные данные отчета – практически, эта настройка не отличается от предыдущей;
  • Каждый раз при возникновении проблемы отображать запрос до проверки на наличие решений – при возникновении ошибки Windows 7 будет формировать отчет о критическом событии. Затем на экран будет выведено диалоговое окно, предлагающее отправить отчет о проблеме в Microsoft. В случае вашего согласия и при наличии подключения к Интернету, отчет будет отправлен и если решение будет найдено, вы получите уведомление в Центре поддержки. Если же вы откажетесь отправлять отчет, то информация об ошибке будет сохранена на компьютере, но отправлена в Microsoft не будет, а вам придется искать решение проблемы самостоятельно;
  • Не проверять на наличие новых решений (не рекомендуется) – при возникновении ошибки Windows 7 будет формировать отчет о критическом событии и сохранять его на компьютере. Никакой информации в Microsoft отправляться не будет.

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

Чтобы настроить отправку отчетов об ошибках для всех пользователей компьютера, войдите в Windows 7 как администратор, откройте Панель управления > Центр поддержки > Обслуживание > Параметры и нажмите Изменить параметры отчетов для всех пользователей .

Настройка отчетов об ошибках с помощью Редактора локальной групповой политики

Поскольку редактор локальной групповой политики присутствует не во всех , данный способ может быть применен только в Windows 7 Профессиональная, Windows 7 Максимальная и Windows 7 Корпоративная.

Важно : настройки, заданные в Редакторе локальной групповой политики, имеют более высокий приоритет, чем настройки, заданные в Центре поддержки.

1. Войдите в Windows 7 с правами администратора.

2. Откройте меню Пуск, введите в поисковую строку и нажмите Ввод .

3. В левом меню Редактора локальной групповой политики откройте: Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Отчеты об ошибках Windows .

4. Выполните одно или несколько действий:

Чтобы запретить отправку в Microsoft дополнительных данных об ошибках, дважды щелкните пункт Не отправлять дополнительные данные , выберите Включить и нажмите ОК . Если данный параметр включен, любые запросы корпорации Microsoft на дополнительные данные в ответ на события в отчетах об ошибках Windows будут автоматически отклоняться без уведомления пользователя.

Чтобы отключить отправку отчетов об ошибках, дважды щелкните пункт Отключить отчеты об ошибках Windows , выберите Включить и нажмите ОК . Если этот параметр включен, то в случае обнаружения ошибок, Windows 7 не будет отправлять информацию о них в Microsoft. Однако и вы не сможете получать информацию о решениях проблем через Центр поддержки.

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

Мониторинг и диагностика


Warface – широко известен среди геймеров рунета и за его пределами. За его стабильностью следит обширный штат сотрудников, но это не предотвращает игру от аварийного закрытия и появления сбоев типа “WF прекратил работу. Отчет об ошибке”. Частота вылетов бага разная – иногда у пользователей не получается даже зайти поиграть, а кому-то дается пару раундов. Давайте рассмотрим пути исправления.

Причин краша игры может быть много – мусор, битые файлы, неверные настройки, несоответствие требованиям. Развитие игр и операционки Windows не всегда протекает равномерно. Не забывайте, что вышедший обновленный драйвер также может отразиться на работоспособности. Но есть некоторые методы, которые помогут значительно снизить риск вылета.

Сбой игры “WF прекратил работу. Отчет об ошибке”

Исправляем вылет “WF прекратил работу”

Обратите внимание, что описанный ниже метод не гарантирует 100% результативность. Вылеты в будущем вполне могут случиться, но они станут появляться намного реже. Нам нужно выполнить такие процедуры:

  • настроить совместимость и запуск от администратора;
  • во время последующих запусков переключать приоритет процесса и производить чистку файлов игры.

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

Настраиваем совместимость и активируем запуск от администратора

Итак, вот небольшая инструкция по правильной настройке совместимости.

  1. Запускаем Игровой центр.
  2. В меню, расположенном справа от кнопки «Играть» (стрелочка вниз), выбираем «Открыть папку клиента игры» .
  3. Заходим в директорию «Bin32Release» , где находим файл «Game» .
  4. Кликаем правой кнопкой, переходим в «Свойства» и вкладку «Совместимость» .
  5. Помечаем галочкой «Запустить программу в режиме совместимости с:» и выбираем вашу версию ОС.
  6. Внизу здесь же ставим галочку возле «Выполнить эту программу от имени администратора» .
  7. Кликаем «Изменить параметры для всех пользователей» и делаем аналогичные изменения в появившемся окне. После кликаем «Применить».

Все, совместимость настроена. Переходим к следующему пункту.

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

Что нужно делать при каждом входе?

Как и в первом шаге, действия довольно простые.


Еще один важный момент – настройка приоритета . Делается это так.

  1. Запускаем игру и сворачиваем ее.
  2. Нажимаем комбинацию «Ctrl»+«Alt»+«Delete» на клавиатуре.
  3. В диспетчере задач переключаемся на вкладку «Процессы» .
  4. Находим «Game» .
  5. Нажимаем на нем правой клавишей, выбираем «Приоритет» , устанавливаем «Низкий» .

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

Заключение

Такие простые методы должны помочь, но если по-прежнему вылетает “WF прекратил работу. Отчет об ошибке” – стоит проверять уже стабильность системы. Обновляйте весь пакет драйверов, примените актуальные версии визуализатора Visual C++, .NET Framework. Если вы владелец x32, то рекомендуется перейти на x64 версию вашей Windows. Еще бы посоветовал сразу же отправить отчет, данные о котором содержатся в прикрепленном файле, для которого даже указан размер. Введите почту и дайте описание. Такие действия помогут разработчикам связаться с вами по вопросу бага.

Жрец 28 октября 2010 в 15:16

Введение в отчеты об ошибках

  • Чулан *

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

Сколько раз Вы писали своим пользователям: «сделайте пожалуйста скриншот сообщения об ошибке и пришлите его мне»? И ведь периодически оказывается, что ошибка возникает очень редко и вызвать ее повторное появление пользователь не в силах. Автоматическая отправка отчетов об ошибках – великолепное решение этой проблемы.

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

Как это работает

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

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

Пример реализации на C#

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

Для начала – серверная сторона.
Интерфейс веб-сервиса


{
public interface IErrorReporting
{
string PostErrorInfo(string info);
}
}

Реализация этого интерфейса

Namespace ErrorReportingService
{
public class ErrorReporting: IErrorReporting
{
public string PostErrorInfo(string info)
{
System.IO.File.AppendAllText(System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath + "\\App_Data\\reports.txt",
"\n\n"+info);
return "ok";
}
}
}

Теперь напишем обработчики исключений для вставки в тело Вашей программы и подключение их при запуске программы - класс Program может выглядеть вот так:

Static class Program
{
public static void SendDataAndShowMessage(System.Exception ex)
{
string text = DateTime.Now.ToShortDateString()+" "+
DateTime.Now.ToLongTimeString()+"\n"+
ex.ToString();// тут хорошо бы его отформатировать, скажем, в XML, добавить данные о времени, дате, железе и софте...
try
{
(new ErrorReportingService.ErrorReportingClient()).PostErrorInfo(text);
MessageBox.Show("Произошла ошибка. Информация об ошибке отправлена разработчику.\n\n" + text, "Ошибка программы", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
catch (System.Exception ex2)
{
MessageBox.Show("Произошла ошибка. Информацию об ошибке отправить разработчику не удалось.\n\n" + text, "Ошибка программы", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
public static void AppDomain_CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
SendDataAndShowMessage((Exception)e.ExceptionObject);
Application.Exit();
}
public static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
{
SendDataAndShowMessage(e.Exception);
//на этом месте можно предложить "попытать продолжить работу" (ну-ну) или закрыть приложение
Application.Exit();
}
static void Main()
{
//Установка обработчика
AppDomain.CurrentDomain.UnhandledException +=
new UnhandledExceptionEventHandler(Program.AppDomain_CurrentDomain_UnhandledException);
Application.ThreadException +=
new System.Threading.ThreadExceptionEventHandler(Program.Application_ThreadException);

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}

Вот и весь код.

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

Морально-этическая сторона вопроса

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

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

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

Теги: программирование, ошибки, исключения, отладка, тестирование, c#

Введение

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

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

Создание отчета об ошибке

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

Mac OS X

В Mac OS X cуществует стандартная программа - сборщик отчетов об ошибке: /System/Library/CoreServices/Crash Reporter.app. Crash Reporter.app отправляет креш-логи, стандартные для ОС Unix, в компанию Apple Computer, где эти логи анализируют их инженеры. В верхнем поле окна отчета об ошибке содержится креш лог, а в нижнем пользователь может ввести свои комментарии, например, рассказать что он делал в момент, когда произошел креш. Пользователи также могут скопировать лог и отправить его разработчику ПО для анализа. Crash Reporter.app работает в трех основных режимах в случае ошибки: ничего не делать, вывести сообщение "Application has crashed" или вывести окно отчета об ошибке.

Windows

GNOME

На платформе GNOME для сбора и отправки отчетов об ошибке используется утилита Bug Buddy. Когда приложение, использующее библиотеки GNOME аварийно завершается, Bug Buddy генерирует снимок стека, используя отладчик gdb и предлагает пользователю отправить отчет в систему GNOME bugzilla. Пользователь может добавить свой комментарий и посмотреть, что содержится в отчете.

KDE

Утилита для отправки отчетов об ошибках в KDE называется Dr. Konqi.

Mozilla

Talkback

(также известный как Quality Feedback Agent ) являлся утилитой для отправки сообщений об ошибках в программном обеспечении Mozilla вплоть до версии 1.8.1 для отправки отчетов об ошибках на централизованный сервер. Talkback является проприетарным ПО, на которое Mozilla Corporation получила лицензию у компании SupportSoft. Когда продукты Mozilla (например Mozilla Firefox , Mozilla Thunderbird) аварийно завершали свою работу, агент Talkback предлагал пользователю ввести описание ошибки. Talkback не заменет собой встроенной в операционную систему программы для отправки отчетов об ошибке, которая, запускается наряду с агентом Talkback. Talkback был заменен на программу Breakpad в браузере Firefox начиная с версии 3.

Breakpad

Ubuntu

Вместе с релизом Ubuntu 6.10, Ubuntu включает утилиту Apport .

Apport перехватывает процессы, в которых произошло исключение и которые готовы создать дамп ядра (core dump), и записывает отчеты об ошибках в определенное место. Затем специальный демон, предлагает пользователю отправить отчеты в Ubuntu для их анализа.

World of Warcraft

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