разработка драйвера виндовс

Я новичок в разработке драйверов Windows, поэтому, пожалуйста, потерпите меня, если мой вопрос слишком глуп. Ну, я не уверен, почему, как предложил MSDN, а также как я понял, хост-компьютер, например, разработка драйвера, и целевой компьютер, например, отладка драйвера, должны быть двумя отдельными. почему такое разделение? Я попытался объединить эти два, развернув и отладив драйвер на главном компьютере, на котором я разрабатываю драйвер, и, похоже, это сработало без возражений со стороны Windows. Спасибо.

PS. Источник вроде этого http://msdn.microsoft.com/en-us/library/windows/hardware/hh698272(v=vs.85).aspx заставил меня так подумать.


person Cong Hui    schedule 17.01.2013    source источник
comment
Система может зайти в тупик. (В однопроцессорной системе это в значительной степени связано.)   -  person Harry Johnston    schedule 17.01.2013
comment
это единственная причина? Спасибо   -  person Cong Hui    schedule 17.01.2013
comment
Понятия не имею, но это довольно хороший ИМО. По сути, суть в том, что если вы не возражаете против риска сбоя системы, и если вам кажется, что это работает для вас, продолжайте. Просто убедитесь, что ваши резервные копии в порядке.   -  person Harry Johnston    schedule 17.01.2013


Ответы (3)


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

person Rohan    schedule 17.01.2013
comment
Когда мы говорим о тестировании драйвера, нам нужно устройство для этого или Microsoft предоставила какой-то симулятор или эмулятор интерфейса для тестирования драйвера?? - person DeveloperLove; 27.02.2013
comment
@DeveloperLove, если вы пишете драйвер для какого-то реального аппаратного устройства, вам придется его подключить. Но если драйвер на самом деле не для физического устройства, например драйвер фильтра файловой системы, вам не нужно ничего дополнительно. Надеюсь, это объясняет. - person Rohan; 27.02.2013
comment
Спасибо, Рохан, за ваш ответ.. Как будто я начинаю с разработки драйверов для Windows.. Я думал, что начну с аудиодрайверов.. Но, как вы сказали, для этого нам нужно какое-то устройство.. так что с USB я могу начать и получить предстоящий? И у меня есть сомнения, можем ли мы также поиграть с аудио, изображением, драйверами дисплея? Поскольку устройства с этими драйверами уже являются частью моего ПК... - person DeveloperLove; 27.02.2013
comment
@DeveloperLove, я мало разбираюсь в драйверах аудио/изображения/дисплея, поэтому не могу предложить. - person Rohan; 27.02.2013

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

person Sergey Podobry    schedule 17.01.2013

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

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

person Community    schedule 27.11.2015