Поделиться через


Проверка ошибок 0x19: BAD_POOL_HEADER

Проверка ошибок BAD_POOL_HEADER имеет значение 0x00000019. Это означает, что заголовок пула поврежден.

Внимание

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

Параметры BAD_POOL_HEADER

Параметр 1 указывает тип нарушения. Значение других параметров зависит от значения параметра 1.

Параметр 1 Параметр 2 Параметр 3 Параметр 4 Причина ошибки

0x2

Проверяемая запись пула

Размер блока пула

0

Не удалось выполнить проверку шаблона специального пула.

(Владелец, скорее всего, поврежден блок пула.)

0x3

Проверяемая запись пула

Значение flink freelist для обратного чтения

Значение свободного списка для обратного чтения

Бесплатный список пула поврежден.

(В здоровом списке значения параметров 2, 3 и 4 должны совпадать.)

0x5

Одна из записей пула

Зарезервировано

Другая запись пула

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

0x6

Одна неправильно вычисляемая запись

Зарезервировано

Недопустимая запись, из-за которой произошла ошибка

Предыдущий размер заголовка блока пула слишком велик.

0x7

0

Зарезервировано

Недопустимая запись пула

Размер заголовка блока пула поврежден.

0x8

0

Зарезервировано

Недопустимая запись пула

Размер заголовка блока пула равен нулю.

0x9

Одна неправильно вычисляемая запись

Зарезервировано

Недопустимая запись, из-за которой произошла ошибка

Размер заголовка блока пула поврежден (он слишком велик).

0xA

Запись пула, которая должна была быть найдена

Зарезервировано

Виртуальный адрес страницы, содержащей запись пула

Размер заголовка блока пула поврежден.

0xD, 0xE, 0xF, 0x23, 0x24, 0x25

Зарезервировано

Зарезервировано

Зарезервировано

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

0x20

Запись пула, которая должна была быть найдена

Следующая запись пула

Зарезервировано

Размер заголовка блока пула поврежден.

0X21

Указатель пула освобождается

Количество байтов, выделенных для блока пула

Поврежденное значение, найденное после блока пула

Данные после освобождения блока пула повреждены. Как правило, это означает, что потребитель (стек вызовов) перезапустил блок.

0X22

Освобожденный адрес

Зарезервировано

Зарезервировано

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

Причина

Пул уже поврежден во время текущего запроса.

Это может быть связано с вызывающим элементом.

Разрешение

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

Затем можно использовать специальный пул для тегов подозрительного пула или использовать параметр "Специальный пул" средства проверки драйверов для подозреваемого драйвера. Расширение !analyze может помочь в выявлении подозреваемого драйвера, но это часто не относится к повреждениям пула.

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

Средство проверки драйверов

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

Диагностика памяти Windows

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

Запустите средство диагностики памяти Windows, чтобы проверить память. В поле поиска панели управления введите память и выберите " Диагностика проблем с памятью компьютера". После выполнения теста используйте средство просмотра событий для просмотра результатов в системном журнале. Найдите запись MemoryDiagnostics-Results, чтобы просмотреть результаты.