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


Использование тестов основы устройства для воспроизведения кодов проблем диспетчер устройств

В тестах "Основы устройств" (DevFund) используются подключаемые модули ввода-вывода, предоставляемые Корпорацией Майкрософт, для осуществления устройств путем отправки устройству ввода-вывода для конкретного класса устройства при отключении и включении устройства, цикле работы системы через состояния питания и перезагрузки, освобождении и перераспределении ресурсов и других задачах.

Шаг 1. Определите, какие тесты могут потенциально воспроизвести код ошибки устройства

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

Код ошибки устройства Сообщение об ошибке устройства Тестирование основ устройства
10 CM_PROB_FAILED_START DF — PNP Rebalance Fail Restart Device Test (Надежность)
DF — PNP Surprise Remove Device Test (разработка и интеграция)
DF — PNP Surprise Remove Device Test (надежность)
DF — PNP DIF Remove Device Test (Надежность)
DF — перезагрузка с операцией ввода-вывода до и после (надежность)
DF — PNP Отмена удаления теста устройства (надежность)
DF — отключение и включение проверки устройства (надежность) PNP
DF — PNP Rebalance Request New Resources Device Test (Разработка и интеграция)
DF — PNP Rebalance Request New Resources Device Test (Надежность)
DF — PNP Remove Device Test (Надежность)
DF — PNP Stop (rebalance) Device Test (Разработка и интеграция)
DF — проверка устройства остановки PNP (повторная балансировка) (надежность)
DF — спящий режим с операцией ввода-вывода во время (надежность)
DF — тест неожиданного удаления корневого порта PCI (только для устройств PCI) (надежность)
14 CM_PROB_NEED_RESTART DF — PNP Remove Device Test (Надежность)
DF — PNP DIF Remove Device Test (Надежность)
28 CM_PROB_FAILED_INSTALL DF — PNP DIF Remove Device Test (Надежность)
31 CM_PROB_FAILED_ADD DF — PNP DIF Remove Device Test (Надежность)
DF — отключение и включение проверки устройства (надежность) PNP
DF — PNP Rebalance Fail Restart Device Test (Надежность)
DF — PNP Remove Device Test (Надежность)
38 CM_PROB_DRIVER_FAILED_PRIOR_UNLOAD DF — PNP DIF Remove Device Test (Надежность)
39 CM_PROB_DRIVER_FAILED_LOAD DF — PNP DIF Remove Device Test (Надежность)
43 CM_PROB_FAILED_POST_START DF — проверка устройства отмены PNP (надежность)
DF — PNP Отмена удаления теста устройства (надежность)
DF — PNP Rebalance Fail Restart Device Test (Надежность)
DF — PNP Rebalance Request New Resources Device Test (Надежность)
DF — PNP Remove Device Test (Надежность)
DF — спящий режим с операцией ввода-вывода во время (надежность)
52 CM_PROB_UNSIGNED_DRIVER DF — отключение и включение проверки устройства (надежность) PNP

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

Полный список тестов с основами устройств см. в разделе Тесты Device.DevFund .

Шаг 2. Определение способа настройки тестового компьютера

Определив, какой тест следует выполнить, решите, как настроить тест и тестовый компьютер для воспроизведения ошибки. Чтобы узнать, какие параметры поддерживаются каждым тестом, щелкните ссылку для конкретного теста в таблице выше. Здесь будет описан тест и параметры, доступные для этого теста. Например, некоторые ошибки PnP устройства являются спорадическими. Параметр /testcycles можно использовать со всеми тестами, чтобы указать, сколько раз должен выполняться тест:

/p:testcycles=10

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

Некоторые тесты приводят к созданию журналов SetupAPI (например, DF — переустановка с вводом-выводом до и после (надежность).  Тестовый компьютер можно настроить для создания подробных журналов SetupAPI.

Шаг 3. Запуск теста

Эти тесты можно легко выполнить в командной строке или HLK после настройки контроллера HLK.

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

Шаг 4. Отладка проблемы

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