Все виды синих экранов смерти. Как понять в чем проблема при появлении синего экрана (BSOD) или чем открыть файл dump

Синий экран смерти (англ. Blue Screen of Death, Blue Screen of Doom, BSoD )- сообщения о критической системной ошибке в операционных системах Microsoft Windows. Многие кто сталкиваются на своем компьютере/ ноутбуке с синим экраном смерти, единственным решением видят переустановку операционной системы. Но иногда ОС здесь вовсе не причем, а проблема в "железе". Для того что бы не гадать- почему появился синий экран смерти, нужно использовать информацию, которую предоставляет сама операционная система в виде логов. В этой статье я пошагово опишу как выяснить причину появления синего экрана смерти.

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

Настройки касаемые перезагрузки после сбоя системы можно указать, если нажать правой кнопкой мыши на ярлыке Мой компьютер/ Компьютер (подходит для Windows XP, Windows7, Windows8), выбрать "Свойства ", или нажать сочетание клавиш + . Все принтскирны ниже будут касаться Windows7, аналогичным способ настраивается на Windows XP, Windows8, Windows8.1.

На вкладке "Дополнительно " выберите в поле Загрузка и восстановление "Параметры ".

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

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

Если указанной там информации мало, можно воспользоваться дампом (dmp файл ). Для этого можно использовать инструмент microsoft- microsoft debugging tool, но он много весит, требует установки и наличия framework 4.5. Можно обойтись меньшими жертвами, если использовать программу BlueScreenView . На мой взгляд очень удобная программа не требующая установки и на русском языке (файл добавить в папку с программой). Запустив файл BlueScreenView.exe вам откроется интерфейс программы в котором уже будет загружен dump этого компьютера (используется путь по умолчанию C:\Windows\MiniDump, если зайти в Настройки- Дополнительные параметры можно указать другой путь, если вы скопировали dump в другое место).

В данной статейки мы поговорим о таком явление в операционной системе Windows как — Blue Screen of Death или по нашему «синий экран смерти », также его называют STOP-ошибка. Рассмотрим основные причины возникновения и расшифруем коды данных ошибок.

А для начала давайте дадим определение, что такое «Blue Screen of Death » — это способ генерации сообщения о фатальной ошибке в операционных системах Windows NT 4.0, Windows 2000, Windows 2003, Windows XP, Windows Vista и Windows 7 вызванной нарушениями в работе некоторых программ или драйверов, но все равно чаще из-за аппаратных сбоев компьютера.

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

STOP 0x0000006B (0xC0000022, 0x00000000, 0x00000000, 0x00000000) PROCESS1_INITIALIZATION_FAILED

где 0xC0000022, 0x00000000, 0x00000000, 0x00000000 — параметры, раскрывающие смысл данной BSoD.

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

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

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

Теперь давайте перейдем непосредственно к самим ошибкам и рассмотрим причины их возникновения и краткие способы решения.

0x00000001: APC_INDEX_MISMATCH

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

0x0000000A: IRQL_NOT_LESS_OR_EQUAL

Произошло вмешательство в виртуальную память на внутреннем процессе IRQ высокого уровня. Наиболее типичная причина возникновения — драйвер устройства использует неверный адрес. Ошибка возникает из-за плохих драйверов. Редко возникает из-за неисправности одного из устройств в системе.
Параметры:

  1. Адрес, по которому выполнено ошибочное обращение
  2. IRQL, который использовался для обращения к памяти
  3. Тип доступа к памяти: 0 = операция чтения, 1 = операция записи
  4. Адрес инструкции, которая затребовала доступ к памяти по адресу

0x0000001E: KMODE_EXCEPTION_NOT_HANDLED

Это очень часто встречающаяся ошибка. Обычно исключённый адрес указывает на драйвер или функцию, которая вызвала стоп-экран. Всегда обращайте внимание не только на указанный драйвер, но и на сам адрес или имидж, содержащий эту ошибку. Обычно это код исключения 0x80000003. Эта ошибка означает, что точка прерывания или обработчик инициализировался при обращении к памяти, но система загрузилась с /NODEBUG ключа. Это ошибка не может появляться слишком часто. Если ошибка появляется постоянно, убедитесь, что отладчик (debugger) подключён и система загружается с /DEBUG ключа.
На не-Intel системах, если адрес исключения — 0XBFC0304, ошибка возникает вследствие кэширования процессора. Если ошибка появляется постоянно, свяжитесь с производителем процессора.
Как правило, требуется анализ второго параметра этого сообщения, который указывает на адрес драйвера/функции, которая была причиной проблемы.
Параметры:

  1. Код исключительной ситуации
  2. Адрес, при обработке которого произошел сбой
  3. Параметр 0 — исключение
  4. Параметр 1 — исключение

0x00000020: KERNEL_APC_PENDING_DURING_EXIT

Название ошибки указывает на повреждённый/отключённый APC счётчик. Если у вас такая ситуация, проверьте все файловые системы установленные на машине, например используя спасательный комплект EMRD.
Текущий IRQL должен быть равен нулю. Если IRQ не равен нулю, то определённый порядок выгрузки драйверов, при возвращении на более высокий уровень IRQ, может стать причиной возникновения ошибки. Попытайтесь запомнить, что вы делали или какие приложения закрывали, какие драйвера были установлены на момент возникновения синего экрана. Этот симптом указывает на серьёзную проблему в драйверах сторонних разработчиков.
Параметры:

  1. Адрес APC, на момент сбоя.
  2. Сбойная нить APC
  3. Текущий IRQ уровень

0x00000023: FAT_FILE_SYSTEM

FAT ).

0x00000024: NTFS_FILE_SYSTEM

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

0x0000002A: INCONSISTENT_IRP

I/O Request Packet (IRP) не функционирует; возникает, когда поле или несколько полей неверны по сравнению с сохранившемся состоянием IRP. Например, IRP был уже отключен, когда драйвер какого-либо устройства ждал команды.
Параметры:
1 — адрес по которому IRP был найден в нерабочем режиме

0x0000002B: PANIC_STACK_SWITCH

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

0x0000002E: DATA_BUS_ERROR

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

  1. Адрес виртуальной памяти, который стал причиной ошибки
  2. Физический адрес причины ошибки
  3. Регистрация статуса процессора (PSR)
  4. Регистрация инструкции ошибки (FIR)

0x00000031: PHASE0_INITIALIZATION_FAILED

Инициализацию системы не удалось завершить на ранней стадии (фаза 0). Нужно более детально изучить ошибку, так как данный код ошибки не говорит практический ни о чём.
0x00000032: PHASE1_INITIALIZATION_FAILED
Инициализацию системы не удалось завершить на поздней стадии (фаза 1). Нужно более детально изучить ошибку, так как данный код ошибки не говорит практический ни о чём.
Параметры:

  1. Код уровня системы, который описывает, по какой причине система считает, что инициализация не завершена
  2. Указывает место внутри INIT.C, где произошла ошибка инициализации фазы 1

0x00000035: NO_MORE_IRP_STACK_LOCATIONS

Драйвер высокого уровня пытался вызвать драйвер низкого уровня через интерфейс IoCallDriver(), но у системы не было свободного места в области стека, по этой причине драйвер низкого уровня не достигнет нужных параметров, так как для него вообще нет никаких параметров. Это фатальная ситуация, так как драйвер высокого уровня считает, что заполнил параметры для драйвера низкого уровня (что-то он должен был сделать, чтобы вызвать драйвер низкого уровня). Тем не менее, так как нет свободного места в области стека, был затерт конец пакета. Это часто возникает из-за повреждения блоков памяти стека. Необходимо проверить на ошибки память и драйвера.
Параметры:
1 — адрес IRP

0x00000036: DEVICE_REFERENCE_COUNT_NOT_ZERO

Драйвер устройства пытался удалить из системы один из компонентов своего устройства, но счётчик обращений этого компонента не был равен нулю -это означает, что за данным компонентом находятся какие-то невыполненные задачи (счётчик указывает код ошибки, из-за чего данный компонент не может быть выгружен). Это ошибка вызова драйвера.
Параметры:
1 — адрес объекта

0x0000003E: MULTIPROCESSOR_CONFIGURATION_NOT_SUPPORTED

Мультипроцессорная система не симметрична по отношению друг к другу. Для правильной симметричности, процессоры должны быть одного типа и уровня. Например, попытка использовать процессор уровня Pentium и 80486 одновременно, вызовет ошибку. Кроме того, на х86 системах, возможность вычислений с плавающей точкой должны быть либо на всех процессорах, либо ни на одном.

0x0000003F: NO_MORE_SYSTEM_PTES

Не хватает РТЕ (page file entries — точек доступа к файлу подкачки). Обычно причиной является драйвер, который плохо очищает файл подкачки (swap) и он переполняется. Также причиной может являться чрезмерная фрагментация файла подкачки.

0x00000040: TARGET_MDL_TOO_SMALL

Драйвер вызвал функцию IoBuildPartialMdl() и передал ему MDL, чтобы выявить часть источника MDL, но область получателя MDL недостаточно большая, для того, чтобы отобразить пределы требуемых адресов. Это ошибка драйвера.

0x00000041: MUST_SUCCEED_POOL_EMPTY

Драйвер системы запросил место в Must Suceed Pool. Данная функция не может быть выполнима, так как система не выделяет места в Must Suceed Pool. Замените или обновите неисправный драйвер системы.
Параметры:

  1. Величина требуемой запроса
  2. Номер использованной страницы
  3. Количество запрашиваемых страниц
  4. Количество доступных страниц

0x00000044: MULTIPLE_IRP_COMPLETE_REQUESTS

Драйвер запросил завершение IRP , но пакет был уже завершён. Эту ошибку сложно выявить. Возможная причина — драйвер пытается завершить одну и ту же операцию несколько раз. Редкая причина — 2 различных драйвера пытаются завладеть пакетом и завершить его. Первый как правило срабатывает, а второй нет. Отследить, какой именно драйвер это сделал, трудно, так как следы первого драйвера были переписаны вторым.
Параметры:
1 — адрес IRP

0x00000048: CANCEL_STATE_IN_COMPLETED_IRP

Эта ошибка указывает, что I/O Request Packet (IRP), который должен быть завершён, имеет порядок отмены определённый в нём же, т.е. это означает, что пакет в таком режиме, может быть отменен. Тем не менее, пакет не относиться более к драйверу, так как он уже вошёл в стадию завершения.
Параметры:
1 — адрес IRP

0x00000049: PAGE_FAULT_WITH_INTERRUPTS_OFF

Страничная ошибка при обращении к памяти, при выключенных прерываниях IRQ. Описание ошибки такое же, как и у 0x0000000A.

0x0000004C: FATAL_UNHANDLED_HARD_ERROR

Критическая нераспознанная ошибка. Наиболее вероятные причины описаны в 0xC0000218, 0xC000022A или
0xC0000221.

0x0000004D: NO_PAGES_AVAILABLE

Нет больше свободной страничной памяти, для завершения операции. Проверьте наличие свободного места на диске. Замените драйвер. Параметры:

  1. Количество использованных страниц
  2. Количество физических страниц на машине
  3. Расширенное значение величины страниц
  4. Общее значение величины страниц

0x0000004E: PFN_LIST_CORRUPT

Причина — повреждённая/неисправная структура ввода-вывода драйвера. Параметры:

  1. Значение 1
  2. Значение ListHead, которое повреждено
  3. Число доступных страниц
  1. Значение 2
  2. Данные, которые удаляются
  3. Максимальное число физических страниц
  4. Итог удаляемых данных

0x00000050: PAGE_FAULT_IN_NONPAGED_AREA

Возникает, когда запрошенная информация не была найдена в памяти. Система проверяет файл подкачки (page file), но отсутствующая информация была обозначена, как невозможная для записи в файл подкачки (page file).
Параметры:
1. указывает на адрес в памяти, который допустил ошибку

0x00000051: REGISTRY_ERROR

Произошла ошибка ввода-вывода с реестром, когда система попыталась прочитать один из его файлов, отсюда следует, что ошибка могла быть вызвана проблемой с оборудованием или повреждением самой системы. Это так же может означать, что ошибка вызвана операцией обновления, которую использует только система безопасности и эта ошибка возникает, когда ресурсы на исходе. Если такая ошибка возникла, проверьте, является ли машина PDC или BDC и сколько аккаунтов в базе данных SAM (Менеджер Безопасности Аккаунтов), не заполнены ли соответствующие библиотеки почти до конца.
Параметры:
1. значение 1 (указывает, где появилась ошибка)
2. значение 2 (указывает, где появилась ошибка)
3. может указывать на библиотеку
4. может быть возвратным кодом HvCheckHive’а, если какая-либо
библиотека повреждена

0x00000058: FTDISK_INTERNAL_ERROR

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

0x00000067: CONFIG_INITIALIZATION_FAILED

Ошибка означает, что реестр не может выделить место, необходимое для работы файлов реестра. Эта ошибка никогда не может появиться, так как процесс резервирования такого места происходит на ранней стадии загрузки системы и для реестра выделяется достаточно места.
Параметры:
1. пять
2. Указывает на NTOS\CONFIG\CMSYSINI, который потерпел неудачу.

0x00000069: IO1_INITIALIZATION_FAILED

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

0x0000006B: PROCESS1_INITIALIZATION_FAILED

Параметры:
1. сообщает на код процесса, который решил, что инициализация системы не прошла успешно.
2. сообщает на место в NTOS\PS\PSINIT.C, где ошибка была обнаружена.
0x0000006D: SESSION1_INITIALIZATION_FAILED 0x0000006E: SESSION2_INITIALIZATION_FAILED 0x0000006F: SESSION3_INITIALIZATION_FAILED 0x00000070: SESSION4_INITIALIZATION_FAILED 0x00000071: SESSION5_INITIALIZATION_FAILED
Это коды кодов (SESSION1 — SESSION5) указывают место в NTOS\INIT\INIT.C, где была допущена ошибка.
Параметры:
1. сообщает код сессии, которая решила, что инициализация системы не прошла успешно.

0x00000073: CONFIG_LIST_FAILED

Указывает, что один из файлов реестра поврежден или нечитаем. Поврежден один из следующих файлов реестра: SOFTWARE, SECURITY, SAM (Менеджер Безопасности Аккаунтов). Возможной причиной является отсутствие места на диске, либо недостаток оперативной памяти.

0x00000074: BAD_SYSTEM_CONFIG_INFO

Эта ошибка может возникнуть в результате того, что файл реестра SYSTEM, загружаемый через компонент NTLDR, поврежден.
Эта ошибка так же может означать, что некоторые требуемые и их параметры отсутствуют. Загрузка в LastKnownGood (Последней удачной конфигурации) возможно решит эту проблему. Но не исключено, что вам придётся переустанавливать систему, или использовать спасательный диск.

0x00000075: CANNOT_WRITE_CONFIGURATION

Эта ошибка может возникнуть, когда в файлы системного реестра (SYSTEM и SYSTEM.ALT) не могут быть записаны дополнительные данные в момент инициализациями реестра в момент первой фазы (когда появляется доступ к файловым системам). Эта ошибка означает, что на диске нет свободного места, а также произошла попытка сохранить реестр на устройстве «только чтение».

0x00000076: PROCESS_HAS_LOCKED_PAGES

Эта ошибка может возникнуть по причине драйвера, который не полностью выгрузился после операции ввода-вывода. Параметры:
1. адрес процесса
2. число закрытых страниц
3. число зарезервированных страниц
4. ноль

0x00000077: KERNEL_STACK_INPAGE_ERROR

Ошибка считывания одной из страниц ядра система. Проблема заключается в сбойном блоке файла виртуальной памяти или ошибки контролера диска (очень редко, причиной может стать нехватка системных ресурсов, а точнее, может закончится резерв невиртуальной памяти со статусом c0000009a ).
Если первый и второй параметры кода ошибки равны 0, то это означает, что местоположение ошибки в ядре не найдено. А это значит, что ошибка вызвана плохим оборудованием.
Статус ввода-вывода c000009c (STATUS_DEVICE_DATA_ERROR) или C000016AL (STATUS_DISK_OPERATION_FAILED) обычно означает, что информация не может быть прочитана из-за плохого блока в памяти. После перезагрузки автоматическая проверка диска попытается определить адрес плохого блока в памяти. Если статус равен C0000185 (STATUS_IO_DEVICE_ERROR) и виртуальная память находиться на SCSI диске, то проверьте подключение и работу SCSI устройства.
Параметры:
1. ноль
2. ноль
3. значение PTE на момент ошибки
4. адрес ошибки ядра или

1. код статуса
2. код статуса ввода-вывода
3. номер страницы виртуальной памяти
4. Смещение в файле подкачк

0x00000079: MISMATCHED_HAL

Уровень проверки HAL и тип конфигурации HAL не подходят ядру системы или типу машины. Такая ошибка, скорее всего, вызвана тем, что пользователь вручную обновил либо NTOSKRNL.EXE либо HAL.DLL. Или на машине мультипроцессорный HAL (MP) и юнипроцессорное ядро (UP), или наоборот.

0x0000007A: KERNEL_DATA_INPAGE_ERROR

Не считывается запрашиваемая ядром страница. Ошибка вызвана плохим блоком в памяти или ошибкой контроллера диска. См. так же 0x00000077. Параметры:
1. тип зависшей блокировки
2. статус ошибки (обычно код ввода-вывода)
3. текущий процесс (виртуальный адрес для блокировки типа 3 или PTE)
4. адрес виртуальной памяти, который не может быть перемещен в файл подкачки

0x0000007B: INACCESSIBLE_BOOT_DEVICE

В процессе инсталляции I/O системы, драйвер загрузочного устройства, возможно, не смог инициализировать устройство, с которого система пыталась загрузиться, или файловая система, которая должна была прочитать это устройство, либо не смогла инициализироваться, либо просто не распознала информацию на устройстве, как структуру файловой системы. В вышеупомянутом случае, первый аргумент — это адрес уникодовой структуры информации, которая является ARC именем устройства, с которого была попытка загрузиться. Во втором случае, первый аргумент — это адрес объекта устройства, которое не может быть смонтировано.
Если эта ошибка возникла при начальной инсталляции системы, возможно система была установлена на диск или SCSI контроллер, которые ею не поддерживается. Имейте в виду, что некоторые контроллеры поддерживаются только драйверами из Windows-библиотек (WDL), которые должны быть установлены в режиме выборочной установкой.
Эта ошибка так же может произойти после установки нового SCSI адаптера или контроллера или после изменения системных разделов. В этом случае, на x86 системах, нужно отредактировать BOOT.INI.
Параметры:
1. указатель на объект устройства или уникодовая строка (Unicode string), или ARC имя.

0x0000007D: INSTALL_MORE_MEMORY

Не хватает оперативной памяти для запуска ядра Windows (необходимо 5 MB)
Параметры:
1. номер найденных физических страниц
2. нижняя физическая страница
3. верхняя физическая страница
4. ноль

0x0000007E: SYSTEM_THREAD_EXCEPTION_NOT_HANDLED

Проблема с оборудованием, драйвером или обнаружена нехватка свободного места на диске. Также ошибка может проявляться при попытке обновления Windows XP до Service Pack 2 или Service Pack 3, либо Windows Vista при попытке обновления до Service Pack 1. Причина ошибки может быть связана с драйверами оборудования. Необходимо откатить изменения до состояния на момент установки Service Pack, либо удалить установленное обновление. Для решения данной проблемы необходимо обновить драйвера оборудования с сайта производителя.

0x0000007F: UNEXPECTED_KERNEL_MODE_TRAP

Произошло непредвиденное исключение в режиме ядра, или прерывания, при котором ядро не срабатывает. Также причиной ошибки может стать прерывание, которое повлекло за собой немедленную смерть в виде двойной ошибки — double fault. Первое число в коде ошибки — число прерывания (8 = double fault). Чтобы узнать больше, что это за прерывание, обратитесь к мануалу семейства Intel x86.
Иными словами, ошибка появляется, когда процессор допускает ошибку, с которой ядро не может справиться. Чаще всего ошибка возникает из-за плохих блоков ОЗУ, а иногда из-за разгона процессора.
Попробуйте отменить в BIOS функцию синхронной передачи данных.

0x00000080: NMI_HARDWARE_FAILURE

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

0x00000085: SETUP_FAILURE

Ошибка возникает при загрузке установщика системы в ранних версиях Windows NT. Текстовая форма setup’a больше не использует процедуру поиска ошибок (bugcheck), для того чтобы не создавать серьезных помех при установке. Поэтому вы никогда не столкнётесь с данной ошибкой. Все проверки ошибок были заменены на более дружелюбные и (где возможно) более информативные сообщения об ошибках.

0x0000008B: MBR_CHECKSUM_MISMATCH

Ошибка возникает в процессе загрузки, когда контрольная сумма MBR, вычисленная системой, не совпадает с контрольной суммой загрузчика. Обычно это означает вирус. Просканируйте загрузочный сектор антивирусной программой, предварительно загрузившись с компакт-диска.
KerBugCheckEx параметры:
1 — Сигнатура диска в MBR
2 — Контрольная сумма MBR, записанная в osloader
3 — Контрольная сумма MBR, записанная в системе

0x0000008E: PAGE_FAULT_IN_NON_PAGED_AREA

Несовместимость или неисправность блоков памяти RAM. Продиагностируйте память и замените неисправные модули оперативной памяти.

0x0000008F: PP0_INITIALIZATION_FAILED

Ошибка происходит во время инициализации нулевой фазы менеджера Plug and Play в режиме ядра. Проверьте оборудование и системный диск.

0x00000090: PP1_INITIALIZATION_FAILED

Ошибка происходит во время инициализации первичной фазы менеджера Plug and Play в режиме ядра. К этому моменту инициализированы системные файлы, драйвера и реестр. Проверьте оборудование и системный диск.

0x00000092: UP_DRIVER_ON_MP_SYSTEM

Ошибка возникает, когда однопроцессорный драйвер загружается в системе, где присутствует более чем один активный процессор. KeBugCheckEx параметры: 1 — Базовый адрес однопроцессорного драйвера

0x00000093: INVALID_KERNEL_HANDLE

Ошибка появляется, когда код ядра (kernel code) или другие критические компоненты ОС пытаются закрыть дескриптор, который не является действительным.
Параметры:
1 — Вызванный дескриптор NtClose
2 — 0 означает, что был закрыт защищенный дескриптор
1 означает, что был закрыт неправильный дескриптор
0x00000094: KERNEL_STACK_LOCKED_AT_EXIT
Это сообщение появляется, когда нить существует, в то время как её стек помечен, как блокированный. Проблема вызвана драйвером оборудования.

0x00000096: INVALID_WORK_QUEUE_ITEM

0x00000097: BOUND_IMAGE_UNSUPPORTED

Проблема вызвана некорректным драйвером оборудования.

0x00000098: END_OF_NT_EVALUATION_PERIOD

Время работы демонстрационной версии системы Windows закончилось. Параметры:
1 — Дата инсталляции (нижние 32-бита)
2 — Дата инсталляции (верхние 32-бита)
3 — Триал период в минутах.

0x00000099: INVALID_REGION_OR_SEGMENT

ExInitializeRegion или ExInterlockedExtendRegion были вызваны с неправильным набором параметров.

0x0000009A: SYSTEM_LICENSE_VIOLATION

Произошло нарушение программного лицензионного соглашения. Это может быть или из-за попытки изменить тип продукта системы, или попытки изменить срок триального периода ОС.

0x0000009B: UDFS_FILE_SYSTEM

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

0x0000009C: MACHINE_CHECK_EXCEPTION

Фатальная ошибка Machine Check Exception (проверка машины). Ошибка связана с неправильной конфигурацией оборудования, разгоном процессора, нестабильной работой блоков оперативной памяти, перегревом компонентов системы, нестабильной работой блока питания.

0x0000009F: DRIVER_POWER_STATE_FAILURE

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

0x000000A5: ACPI_BIOS_ERROR

Причиной данного сообщения являются постоянные сбои в ACPI BIOS. На уровне операционной системы данную проблему решить нельзя. Необходим детальный анализ.

0x000000B4: VIDEO_DRIVER_INIT_FAILURE

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

0x000000BE: ATTEMPTED_WRITE_TO_READONLY_MEMORY

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

0x000000C2: BAD_POOL_CALLER

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

0x000000C4: DRIVER_VERIFIER_DETECTED_VIOLATION

Программа проверки драйвера обнаружила фатальную ошибку в модуле генерации STOP-ошибки. Сопроводительные параметры — параметры, которые передаются в KeBugCheckEx и отображаются на синем экране. Смените драйвер.

0x000000C5: DRIVER_CORRUPTED_EXPOOL

Произошла попытка обращения из недопустимой области памяти в процесс IRQL высокого уровня. Эта ошибка возникает почти всегда из-за драйверов, которые разрушили системный пул. Смените драйвер.

0x000000C6: DRIVER_CAUGHT_MODIFYING_FREED_POOL

Драйвер попытался обратиться к освобожденному пулу памяти. Смените драйвер.

0x000000C7: TIMER_OR_DPC_INVALID

Таймер ядра или Delayed Procedure Call (DPC) присутствует в запрещенном участке памяти. Данная ошибка возникает, когда драйвер не смог завершить работу таймера ядра или Delayed Procedure Call (DPC) перед отгрузкой его из памяти. Смените драйвер.

0x000000C9: DRIVER_VERIFIER_IOMANAGER_VIOLATION

Это сообщение от одного из менеджеров проверки драйвера. Смените драйвер.

0x000000CB: DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS

Ошибка, сходная со STOP-ошибкой 0x00000076. Отличается от последней только тем, что в данном случае ошибка выявлена при трассировке ядра. Ошибка указывает на то, что драйвер или менеджер ввода — вывода не могут открыть блокированные страницы после операции ввода — вывода. Обратите внимание на название прикладного драйвера в окне STOP-ошибке. Смените драйвер.

0x000000CE: DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS

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

0x000000D1: DRIVER_IRQL_NOT_LESS_OR_EQUAL

Система попыталась обратиться к страничной памяти, используя процесс ядра через IRQL высокого уровня. Самая типичная причина — плохой драйвер устройства. Это может также быть вызвано поврежденной оперативной памятью, или поврежденным файлом подкачки.

0x000000D8: DRIVER_USED_EXCESSIVE_PTES

Ошибка происходит, когда драйвер запрашивает большое количество памяти ядра.

0x000000E3: RESOURCE_NOT_OWNED

Различные сбои, связанные с файловой системой, приводят к данной STOP-ошибке. Проблема может быть связана с драйвером NTFS.SYS.

0x000000EA: THREAD_STUCK_IN_DEVICE_DRIVER

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

0x000000F2: HARDWARE_INTERRUPT_STORM

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

0x000000F3: DISORDERLY_SHUTDOWN

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

0x000000FA: HTTP_DRIVER_CORRUPTED

Системный драйвер Http.sys поврежден. Необходимо данный компонент восстановить с оригинального диска.

0x000000FC: ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY

Произведена попытка выполнить функцию в невыполняемой памяти. Параметры:
1 — Адрес, из которой была попытка выполнить функцию
2 — Содержание входа таблицы страниц (PTE)
0x000000FD: DIRTY_NOWRITE_PAGES_CONGESTION
Нет свободной страничной памяти для продолжения основных системных операций.
Параметры:
1 — Общее количество запрашиваемой страничной памяти
2 — Количество запрашиваемой страничной памяти с невозможностью для записи.
3 —
4 — Код состояния в момент последней записи в страничную память

0x000000FE: BUGCODE_USB_DRIVER

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

0x00000101:CLOCK_WATCHDOG_TIMEOUT

Указывает, что ожидаемое прерывание по синхроимпульсам на вторичном процессоре в многопроцессорной системе не было получено в пределах определенного интервала. Данный процессор не обрабатывает прерывания. Как правило, это происходит, когда процессор не отвечает, либо вошел в бесконечный цикл.
Параметры:
1 — Интервал блокировки времени прерывания по синхроимпульсам, в
номинальных тактах системных часов
2 — ноль
3 — Адрес управляющего блока процессора (PRCB) для нереагируемого
процессора
4 — ноль

0x00000104: AGP_INVALID_ACCESS

Попытка записи графическим процессором в память, которая не была зарезервирована для этого. Ошибка связана с видеодрайвером, либо старой версией BIOS.
Параметры:
1 — Смещение (в ULONG) в пределах страниц AGP к первым данным
ULONG, данные которого разрушены
2 — ноль
3 — ноль
4 — ноль

0x00000105: AGP_GART_CORRUPTION

Ошибка появляется при повреждении Graphics Aperture Remapping Table (GART). Ошибка вызвана неправильной работой драйвера DMA (прямого доступа в память)
Параметры:
1 — Базовый адрес (виртуальный) в GART
2 — Смещение в GART, где выявлено искажение
3 — Базовый адрес (виртуальный) из кэша GART (копия GART)
4 — ноль

0x00000106: AGP_ILLEGALLY_REPROGRAMMED

Ошибка вызвана неподписанный либо поврежденным видеодрайвером. Замените видеодрайвер. Параметры:
1 — Оригинальная команда
2 — Текущая команда
3 — ноль
4 — ноль

0x00000108: THIRD_PARTY_FILE_SYSTEM_FAILURE

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

0x00000109: CRITICAL_STRUCTURE_CORRUPTION

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

0x0000010E: VIDEO_MEMORY_MANAGEMENT_INTERNAL

Обнаружена внутренняя ошибка видеодрайвера. Проблема с видеодрайвером.

0x0000010F: RESOURCE_MANAGER_EXCEPTION_NOT_HANDLED

В менеджере ресурсов режима ядра (kernel-mode resource manager) произошло исключение.

0x00000112: MSRPC_STATE_VIOLATION

Компонент системы msrpc.sys во время выполнения вернул код ошибки. Код ошибки указан в первом параметре.

0x00000113: VIDEO_DXGKRNL_FATAL_ERROR

Ядро DirectX Graphics выявило критическую ошибку.

0x00000114: VIDEO_SHADOW_DRIVER_FATAL_ERROR

Теневой видеодрайвер обнаружил критическую ошибку.

0x00000115: AGP_INTERNAL

В видеоинтерфейсе AGP драйвером видеопорта была обнаружена критическая ошибка.

0x00000116: VIDEO_TDR_ERROR

Сброс видеодрайвера по таймауту не был успешно произведен.

0x0000011C: ATTEMPTED_WRITE_TO_CM_PROTECTED_STORAGE

Была сделана попытка записи в область защищенную от записи конфигурационного менеджера: Параметры:
1 — Виртуальный адрес предпринятой команды записи
2 — Содержание PTE
3 — зарезервировано
4 — зарезервировано Название драйвера, делающего попытку операции записи, напечатано как
строка Unicode на экране ошибки.

0x00000121: DRIVER_VIOLATION

Драйвер произвел нарушение доступа в одну из областей памяти. Параметры:
1 — описывает тип нарушения
2 — зарезервировано
3 — зарезервировано Используйте отладчик ядра и просмотрите стек вызовов для определения
имени драйвера, который произвел нарушение доступа.

0x00000122: WHEA_INTERNAL_ERROR

Произошла внутренняя ошибка в архитектуре обнаружения ошибок аппаратных средств Windows (Windows Hardware Error Architecture (WHEA))

0x00000124: WHEA_UNCORRECTABLE_ERROR

Произошла ошибка в аппаратной части компьютера. Данная ошибка выявлена архитектурой обнаружения ошибок аппаратных средств Windows (Windows Hardware Error Architecture (WHEA))

0x00000127: PAGE_NOT_ZERO

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

страницу.

3 — ноль
4 — ноль

0x0000012B: FAULTY_HARDWARE_CORRUPTED_PAGE

Обнаружен single bit error (единичная битовая ошибка) на странице памяти. Это ошибка связана с аппаратной оперативной памятью. Параметры:
1 — Виртуальный адрес в памяти, который указывает на некорректную
страницу.
2 — Физический номер страницы
3 — ноль
4 — ноль

0x0000012C: EXFAT_FILE_SYSTEM

Возник сбой чтения или записи в раздел носителя, имеющим формат exFat. Сбой может быть связан с повреждением файловой системы, либо с появлением сбойных секторов на диске. Также сбой может быть связан с программным обеспечением, меняющим структуру диска (программы шифрования и прочее). Данный сбой относится к носителям, отформатированным под Windows Vista Service Pack 1.

0x1000007E: SYSTEM_THREAD_EXCEPTION_NOT_HANDLED_M
0x1000008E: KERNEL_MODE_EXCEPTION_NOT_HANDLED_M
0xC000009A: STATUS_INSUFFICIENT_RESOURCES

Системное ядро операционной системы исчерпало все системные ресурсы для своей работы, в том числе и файл подкачки. Проверьте диск на наличие ошибок. Увеличьте объем жесткого диска и объем оперативной памяти.

0xC0000135: UNABLE TO LOCATE DLL

Windows попытался загрузить DLL библиотеку и получил код ошибки. Возможная причина — файл отсутствует или поврежден. Возможно также поврежден системный реестр.

0xC0000142: DLL Initialization Failure

Данная ошибка была вызвана повреждением системной DLL библиотеки.

0xC0000218: UNKNOWN_HARD_ERROR

Необходимый файл системного реестра не может загрузиться. Файл может быть поврежден или отсутствует (необходим спасательный диск или переустановка Windows). Файлы системного реестра, возможно, были разрушены из-за повреждения жесткого диска. Драйвер, возможно, разрушил данные системного реестра при загрузке в память, или память, куда системный реестр был загружен, имеет ошибку четности (выключите внешний кэш и проверьте ОЗУ).

0xC000021A: STATUS_SYSTEM_PROCESS_TERMINATED

Это происходит, когда Windows переключился в привилегированный режим, а подсистемы непривилегированного режима, типа Winlogon или Подсистемы Времени выполнения Клиент-сервера (CSRSS), вызвали какой-либо сбой, и защиту нельзя гарантировать. Поскольку Windows XP не может работать без Winlogon или CSRSS, это — одна из немногих ситуаций, где отказ обслуживания непривилегированного режима может заставить систему прекращать отвечать. Эта также может произойти, когда компьютер перезапущен после того, как администратор системы изменил разрешения так, чтобы СИСТЕМНАЯ учетная запись больше не имела адекватные разрешения обратиться к системным файлам и папкам. Ошибка также может быть вызвана повреждением файла user32.dll или некорректными системными драйверами (.sys)

0xC0000221: STATUS_IMAGE_CHECKSUM_MISMATCH

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

0xC0000244

STOP-ошибка происходит, когда политика аудита активирует параметр CrashOnAuditFail

0xC000026C

Обычно указывает на проблемы драйвера устройства. Больше информации о данной ошибке

0xDEADDEAD: MANUALLY_INITIATED_CRASH1

«It’s dead, Jim!” (Это мертвый, Джим!) Эта STOP-ошибка указывает на то, что пользователь преднамеренно инициализировал аварийный отказ, либо от отладчика ядра, либо от клавиатуры.

Вот небольшой перечень ошибок, которые могу появляться в операционных системах Windows NT 4.0, Windows 2000, Windows 2003, Windows XP, Windows Vista и Windows 7. Все боятся синего экрана смерти, но на самом деле если его бы не было, то компьютер просто ломался, и Вам пришлось бы отдавать в ремонт Ваше оборудование, или покупать новое, или может даже весь компьютер. Поэтому давайте отдадим должное разработчикам этой операционной системы, которые заботятся о наших кошелках. На этом мы с Вами заканчиваем разговор о знаменитом «Синем экране смерти ».

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

Обычно если на приборной панели появляется "Чек двигателя " (подробнее об этом вы можете прочитать в нашей статье ) многие владельцы автомобилей отправляются в технический автоцентр, для того чтобы с помощью специалистов и компьютерной диагностики узнать причину появления электронной ошибки работы двигателя. Но также немало водителей, которые после появления "Чек двигателя" на приборной панели пытаются установить причину ошибки самостоятельно с помощью сканера подключаемого в диагностический порт OBD 2 / OBD II автомобиля, которые к счастью в наше время стоят не очень дорого.

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

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

P0100 - Ошибка массового расхода воздуха


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

Изменение напряжения или частоты всегда пропорционально количеству поступаемого воздуха. Сигнал датчика расхода воздуха, как мы уже сказали, контролируется компьютером автомобиля (ЕСМ).

Блок управления двигателем (ЕСМ) использует данные, поступаемые с датчика массового расхода воздуха (ДМРВ), чтобы знать нагрузку на двигатель и рассчитать необходимое количество топлива, впрыскиваемого в двигатель.

Если же сигнал от ДМРВ, поступающий в компьютер автомобиля будет вне ожидаемого значения (диапазона), то блок управления двигателем обнаруживает неисправность и выдает код ошибки P0100, записывая его в свою постоянную память.

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

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

В некоторых автомобилях появления в системе кода P0100 может привести к включению аварийного режима работы двигателя, при котором скорость оборотов мотора будет ограничена 2500-3000 об/мин.

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

Причина ошибки P0100:

Неисправный или загрязненный датчик массового расхода воздуха

Обрыв или короткое замыкание в датчике массового расхода воздуха в электрической цепи

Обрыв или короткое замыкание в датчике или цепи заземления

Другие электрические проблемы с проводкой датчика MAF / ДМРВ, (ржавые провода, загнутые клеммы, плохое заземление, предохранитель сгорел, и т.д.)

Утечки вакуума

Ограниченный поток воздуха после или перед воздушным фильтром

Датчик расхода воздуха неправильно установлен

Проблема с блоком управления двигателя (ECM)

Примеры: В некоторых автомобилях Nissan (например, Nissan Maxima, Frontier, Sentra, Pathfinder, а также Infiniti Q30, QX4) код ошибки P0100 появляется, как правило, из-за выхода из строя датчика массового расхода воздуха или из-за разбитой пайки на контактах датчика.


В том числе в этих автомобилях ДМРВ может быть поврежден грязью / пылью, что также вызовет ошибку P0100.

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

Что должно быть проверено при появлении ошибки P0100:

  • 1. Двигатель должен быть проверен на наличие утечек вакуума.
  • 2. Разъем и проводка между датчиком массового расхода воздуха и блоком управления двигателем (ECM) должны быть проверены на обрыв или повреждения.
  • 3. Воздуховод между датчиком массового расхода воздуха и воздухозаборником двигателя должен быть проверен на наличие трещин, разрывов, наличие разъединенных зажимов или на неправильное соединение.
  • 4. Необходимо проверить разъем и проводку датчика ДМРВ на надежность соединения клемм, на наличие коррозии и повреждения.
  • 5. . Если он загрязнен его необходимо заменить.
  • 6. Проверить напряжение и заземление датчика на разъеме.
  • 7. Масса датчика должна быть проверена с помощью вольтметра или с помощью сканера на разных оборотах двигателя. Затем нужно сравнить полученные данные с эталонными данными, которые ранее были получены с полностью исправного датчика.

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

Датчик массового расхода воздуха может стоить от 1500 до 30000 рублей в зависимости от марки и модели автомобиля.

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

Помните, что в случае замены ДМРВ на новый предпочтительнее приобретать оригинальный датчик, поскольку установка неоригинального датчика может вызвать проблемы с работой двигателя.

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

P0106 - Ошибка датчика абсолютного давления / Датчика барометрического давления


В зависимости от марки и модели автомобиля каждое современное транспортное средство оснащено датчиком абсолютного давления (MAP) или датчиком барометрического давления (BARO).

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

Датчик барометрического давления (BARO) измеряет атмосферное давление, которое постоянно изменяется в зависимости от скорости автомобиля и нагрузки двигателя.

Компьютер автомобиля использует данные, поступаемые с датчиков (MAP) и (BARO), для регулировки количества топлива впрыскиваемого в .

В некоторых автомобилях компьютер также может использовать датчик абсолютного давления (МАР) чтобы проверить работу системы рециркуляции отработанных газов.

Причина ошибки P0106:

Засор в результате повреждения вакуумной линии, которая подходит к датчику

Электрические проблемы с проводкой. Проблемы с разумом или блоком питанием блока управления двигателем (компьютер ЕСМ)

Неисправность датчиков MAP / BARO

Грязный корпус дроссельной заслонки

Проблемы с системой рециркуляции отработавших газов

Плохой датчик массового расхода воздуха (MAF)

Механические проблемы с двигателем

P0130 - Ошибка датчика кислорода


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

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

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

P0340 - Ошибка датчика положения распределительного вала


Датчик положения распределительного вала (CMP) посылает в компьютер двигателя информацию о положении распредвала. Это необходимо для управления зажиганием, для впрыска топлива и для контроля за изменяемыми фазами газораспределения.

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

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

P0341 - Несоответствие данных датчика положения распределительного вала с датчиком коленвала


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

Код ошибки P0341 означает, что сигнал датчика распредвала находится вне ожидаемого диапазона или же его вращение не соответствует вращению коленвала.

Причина ошибки P0341:

Неисправность датчика положения распредвала

Неправильно установлен датчик распредвала

Повреждение датчика скорости

Наличие инородных материалов между датчиком положения распределительного вала и датчиком скорости

Обрыв, плохое соединение разъёма датчика распредвала

Ремень ГРМ или цепь сдвинулась на один зуб (или звено)

Растянулся ремень ГРМ или цепь

Проблемы с механизмом синхронизации

Электрические помехи от вторичных компонентов системы зажигания (высокое сопротивление в высоковольтных проводах, неисправность свечей зажигания и т.п.)

P0401 - Недостаточность рециркуляции выхлопных газов (EGR)


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

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

P0402 - Переизбыток рециркуляции выхлопных газов


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

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

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

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

P0403 - Ошибка управления клапаном рециркуляции выхлопных газов


Блок управления двигателем управляет потоком рециркуляции отработавших газов путем открытия и закрытия клапана рециркуляции отработавших газов. Некоторые автомобили имеют вакуумный EGR клапан. Другие же автомашины оснащены электрическим управляемым клапаном рециркуляции выхлопных газов (на фото).

В случае обнаружения проблем в электрической цепи управления клапаном рециркуляции отработавших газов, то в системе появляется ошибка P0403.

Появление ошибки может быть связано с отсутствием питания клапана или же в связи износом самого клапана.

P0410 - Ошибка системы подачи вторичного воздуха


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

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

P0420 - Ошибка катализатора выхлопной системы (недостаточная эффективность)


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

Компьютер машины во время работы двигателя постоянно сравнивает сигналы с обоих датчиков. Если катализатор больше не выполняет эффективной свою работу, компьютер записывает в память системы ошибки P0420 (для кислородного датчика №1) и P0430 (для кислородного датчика №2).

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

К сожалению, катализатор любого автомобиля является дорогостоящим компонентом.

P0505 - Ошибка управления холостым ходом


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

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

Как работает в автомобиле система холостого хода?

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

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

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

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

Наверное, каждый владелец автомобиля с инжекторным двигателем сталкивался с различными ошибками в работе этого агрегата. О такой неприятности сообщает соответствующий знак на панели приборов - "ошибка двигателя". Многие сразу же поедут в СТО на диагностику, другие же будут ездить с этой проблемой. Но третья группа людей обязательно заинтересуется причинами и расшифровками кодов.

ЭБУ в автомобилях

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

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

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

- причины

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

Лямбда-зонд

Датчик кислорода - это часть системы отработки выхлопных продуктов. Он проверяет, сколько кислорода не сгорело в цилиндрах двигателя. Лямбда-зонд также контролирует расход топлива.

Различные неисправности названного датчика не позволяют ЭБУ получить информацию от него. Иногда этот элемент выдает неверную информацию. Такие поломки могут увеличить либо уменьшить расход топлива и снизить мощность двигателя. На большинстве современных автомобилей таких датчиков от двух до четырех.

Среди причин выхода из строя описываемого элемента загрязнение его отработанным маслом или же масляной сажей. Это снижает точность съема информации для регулирования топливной смеси и определения оптимального расхода топлива.

Крышка горловины топливного бака

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

А причем здесь ошибка двигателя? Дело в том, что при негерметично закрытой крышке в систему проходит воздух, что увеличивает расход топлива. Система диагностики из-за этого выдает ошибку.

Катализатор

ВАЗ

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

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

Приведенная информация способна помочь опытным и начинающим автолюбителям лучше понимать свою машину. Ошибки возникают время от времени, но главное - уметь вовремя их устранить. Раньше в советских автомобилях таких опций не было, и водитель не мог знать, на что "ругается" двигатель. Сегодня же есть множество возможностей по диагностике, ремонту, контролю состояния. А с помощью современного программного обеспечения нет ничего проще, чем разобраться, как сбросить ошибку двигателя из памяти ЭБУ.

Искать ошибки в программах - непростая задача. Здесь нет никаких готовых методик или рецептов успеха. Можно даже сказать, что это - искусство. Тем не менее есть общие советы, которые помогут вам при поиске. В статье описаны основные шаги, которые стоит предпринять, если ваша программа работает некорректно.

Шаг 1: Занесите ошибку в трекер

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

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

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

Вы должны записать в трекер следующую информацию:

  1. Что делал пользователь.
  2. Что он ожидал увидеть.
  3. Что случилось на самом деле.

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

Шаг 2: Поищите сообщение об ошибке в сети

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

Шаг 3: Найдите строку, в которой проявляется ошибка

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

Шаг 4: Найдите точную строку, в которой появилась ошибка

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

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

Шаг 5: Выясните природу ошибки

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

  1. Ошибка на единицу
    Вы начали цикл for с единицы вместо нуля или наоборот. Или, например, подумали, что метод.count() или.length() вернул индекс последнего элемента. Проверьте документацию к языку, чтобы убедиться, что нумерация массивов начинается с нуля или с единицы. Эта ошибка иногда проявляется в виде исключения Index out of range .
  2. Состояние гонки
    Ваш процесс или поток пытается использовать результат выполнения дочернего до того, как тот завершил свою работу. Ищите использование sleep() в коде. Возможно, на мощной машине дочерний поток выполняется за миллисекунду, а на менее производительной системе происходят задержки. Используйте правильные способы синхронизации многопоточного кода: мьютексы, семафоры, события и т. д.
  3. Неправильные настройки или константы
    Проверьте ваши конфигурационные файлы и константы. Я однажды потратил ужасные 16 часов, пытаясь понять, почему корзина на сайте с покупками виснет на стадии отправки заказа. Причина оказалась в неправильном значении в /etc/hosts , которое не позволяло приложению найти ip-адрес почтового сервера, что вызывало бесконечный цикл в попытке отправить счет заказчику.
  4. Неожиданный null
    Бьюсь об заклад, вы не раз получали ошибку с неинициализированной переменной. Убедитесь, что вы проверяете ссылки на null , особенно при обращении к свойствам по цепочке. Также проверьте случаи, когда возвращаемое из базы данных значение NULL представлено особым типом.
  5. Некорректные входные данные
    Вы проверяете вводимые данные? Вы точно не пытаетесь провести арифметические операции с введенными пользователем строками?
  6. Присваивание вместо сравнения
    Убедитесь, что вы не написали = вместо == , особенно в C-подобных языках.
  7. Ошибка округления
    Это случается, когда вы используете целое вместо Decimal , или float для денежных сумм, или слишком короткое целое (например, пытаетесь записать число большее, чем 2147483647, в 32-битное целое). Кроме того, может случиться так, что ошибка округления проявляется не сразу, а накапливается со временем (т. н. Эффект бабочки).
  8. Переполнение буфера и выход за пределы массива
    Проблема номер один в компьютерной безопасности. Вы выделяете память меньшего объема, чем записываемые туда данные. Или пытаетесь обратиться к элементу за пределами массива.
  9. Программисты не умеют считать
    Вы используете некорректную формулу. Проверьте, что вы не используете целочисленное деление вместо взятия остатка, или знаете, как перевести рациональную дробь в десятичную и т. д.
  10. Конкатенация строки и числа
    Вы ожидаете конкатенации двух строк, но одно из значений - число, и компилятор пытается произвести арифметические вычисления. Попробуйте явно приводить каждое значение к строке.
  11. 33 символа в varchar(32)
    Проверяйте данные, передаваемые в INSERT , на совпадение типов. Некоторые БД выбрасывают исключения (как и должны делать), некоторые просто обрезают строку (как MySQL). Недавно я столкнулся с такой ошибкой: программист забыл убрать кавычки из строки перед вставкой в базу данных, и длина строки превысила допустимую как раз на два символа. На поиск бага ушло много времени, потому что заметить две маленькие кавычки было сложно.
  12. Некорректное состояние
    Вы пытаетесь выполнить запрос при закрытом соединении или пытаетесь вставить запись в таблицу прежде, чем обновили таблицы, от которых она зависит.
  13. Особенности вашей системы, которых нет у пользователя
    Например: в тестовой БД между ID заказа и адресом отношение 1:1, и вы программировали, исходя из этого предположения. Но в работе выясняется, что заказы могут отправляться на один и тот же адрес, и, таким образом, у вас отношение 1:многим.

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

Шаг 6: Метод исключения

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

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

Шаг 7: Логгируйте все подряд и анализируйте журнал

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

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

Шаг 8: Исключите влияние железа или платформы

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

Если ваша программа работает по сети, проверьте свитч, замените кабель или запустите программу в другой сети.

Ради интереса, переключите кабель питания в другую розетку или к другому ИБП. Безумно? Почему бы не попробовать?

Если у вас возникает одна и та же ошибка вне зависимости от среды, то она в вашем коде.

Шаг 9: Обратите внимание на совпадения

  1. Ошибка появляется всегда в одно и то же время? Проверьте задачи, выполняющиеся по расписанию.
  2. Ошибка всегда проявляется вместе с чем-то еще, насколько абсурдной ни была бы эта связь? Обращайте внимание на каждую деталь. На каждую. Например, проявляется ли ошибка, когда включен кондиционер? Возможно, из-за этого падает напряжение в сети, что вызывает странные эффекты в железе.
  3. Есть ли что-то общее у пользователей программы, даже не связанное с ПО? Например, географическое положение (так был найден легендарный баг с письмом за 500 миль).
  4. Ошибка проявляется, когда другой процесс забирает достаточно большое количество памяти или ресурсов процессора? (Я однажды нашел в этом причину раздражающей проблемы «no trusted connection» с SQL-сервером).

Шаг 10: Обратитесь в техподдержку

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

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

  1. Позовите кого-нибудь еще.
    Попросите коллегу поискать ошибку вместе с вами. Возможно, он заметит что-то, что вы упустили. Это можно сделать на любом этапе.
  2. Внимательно просмотрите код.
    Я часто нахожу ошибку, просто спокойно просматривая код с начала и прокручивая его в голове.
  3. Рассмотрите случаи, когда код работает, и сравните их с неработающими.
    Недавно я обнаружил ошибку, заключавшуюся в том, что когда вводимые данные в XML-формате содержали строку xsi:type="xs:string" , все ломалось, но если этой строки не было, все работало корректно. Оказалось, что дополнительный атрибут ломал механизм десериализации.
  4. Идите спать.
    Не бойтесь идти домой до того, как исправите ошибку. Ваши способности обратно пропорциональны вашей усталости. Вы просто потратите время и измотаете себя.
  5. Сделайте творческий перерыв.
    Творческий перерыв - это когда вы отвлекаетесь от задачи и переключаете внимание на другие вещи. Вы, возможно, замечали, что лучшие идеи приходят в голову в душе или по пути домой. Смена контекста иногда помогает. Сходите пообедать, посмотрите фильм, полистайте интернет или займитесь другой проблемой.
  6. Закройте глаза на некоторые симптомы и сообщения и попробуйте сначала.
    Некоторые баги могут влиять друг на друга. Драйвер для dial-up соединения в Windows 95 мог сообщать, что канал занят, при том что вы могли отчетливо слышать звук соединяющегося модема. Если вам приходится держать в голове слишком много симптомов, попробуйте сконцентрироваться только на одном. Исправьте или найдите его причину и переходите к следующему.
  7. Поиграйте в доктора Хауса (только без Викодина).
    Соберите всех коллег, ходите по кабинету с тростью, пишите симптомы на доске и бросайте язвительные комментарии. Раз это работает в сериалах, почему бы не попробовать?

Что вам точно не поможет

  1. Паника
    Не надо сразу палить из пушки по воробьям. Некоторые менеджеры начинают паниковать и сразу откатываться, перезагружать сервера и т. п. в надежде, что что-нибудь из этого исправит проблему. Это никогда не работает. Кроме того, это создает еще больше хаоса и увеличивает время, необходимое для поиска ошибки. Делайте только один шаг за раз. Изучите результат. Обдумайте его, а затем переходите к следующей гипотезе.
  2. «Хелп, плиииз!»
    Когда вы обращаетесь на форум за советом, вы как минимум должны уже выполнить шаг 3. Никто не захочет или не сможет вам помочь, если вы не предоставите подробное описание проблемы, включая информацию об ОС, железе и участок проблемного кода. Создавайте тему только тогда, когда можете все подробно описать, и придумайте информативное название для нее.
  3. Переход на личности
    Если вы думаете, что в ошибке виноват кто-то другой, постарайтесь по крайней мере говорить с ним вежливо. Оскорбления, крики и паника не помогут человеку решить проблему. Даже если у вас в команде не в почете демократия, крики и применение грубой силы не заставят исправления магическим образом появиться.

Ошибка, которую я недавно исправил

Это была загадочная проблема с дублирующимися именами генерируемых файлов. Дальнейшая проверка показала, что у файлов различное содержание. Это было странно, поскольку имена файлов включали дату и время создания в формате yyMMddhhmmss . Шаг 9, совпадения : первый файл был создан в полпятого утра, дубликат генерировался в полпятого вечера того же дня. Совпадение? Нет, поскольку hh в