Ошибка deployment драйвера

Тема в разделе "WASM.BEGINNERS", создана пользователем drem1lin, 5 апр 2018.

  1. drem1lin

    drem1lin Member

    Публикаций:
    0
    Регистрация:
    17 мар 2009
    Сообщения:
    300
    Приветствую всех! Понадобилось мне снова поковыряться в драйверах и решил я попробовать новое слово в отладке, а именно запустить удаленную отладку на виртуальной машине с Windows 8.1 x64. Все первоначальные шаги прошли успешно, но не могу запустить отладку из Visual Studio. В настройках проекта стоят следующие настройки:
    отладчик: Debugging tools for Windows - Kernel Debugger и указано имя удаленной машины.
    Но когда я нажимаю debug получаю deployment error. В логе пишется ошибка очень понятная - Error:The method or operation is not implemented.
    В общем я не особо могу понять что происходит..
     
  2. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.548
    Адрес:
    Russia
    Потому что это же не exe приложение. Так не отлаживают драйвера.
     
  3. drem1lin

    drem1lin Member

    Публикаций:
    0
    Регистрация:
    17 мар 2009
    Сообщения:
    300
  4. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.548
    Адрес:
    Russia
    drem1lin, Я не об этом.
    А о том, что драйвер это не exe . вы не можете его запустить нажав "дебаг".
     
  5. drem1lin

    drem1lin Member

    Публикаций:
    0
    Регистрация:
    17 мар 2009
    Сообщения:
    300
    Там все чуточку сложнее, там собираются пакет и он пересылается на машину для отладки и там устанавливается. После этого запускается драйвер и начинается отладка. Но по сути все сводится именно к одному клику
     
  6. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    Вам вообще не следует трогать ядро. Вы его не знаете, да вы даже в примитивах не можете разобраться, судя по вашим темам, элементарный гуй в юм для вас засада. Это полное отсутствие способности обучаться и тем более рационального мышления, не способность решать алгоритмические задачи, не понимание этого.
     
  7. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.548
    Адрес:
    Russia
    Ну ок . Вопросы к вам . Как же он туда устанавливается (по вашему, раз вы разобрались)? И с какого момента начинается отладка?

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

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    TermoSINteZ,

    Не мучайте его, спросите скриншоты к примеру.
     
  9. drem1lin

    drem1lin Member

    Публикаций:
    0
    Регистрация:
    17 мар 2009
    Сообщения:
    300
    Если бы я разобрался, то поднимать бы эту тему не стал. Отладчик к машине у меня подцепляется и работает, осталась вторая часть - сделать deploy драйвера. Раньше я переносил драйвер вручную, на виртуальную машину или реальную. Захотелось это сделать автоматически - есть официальная мелкомягкая документация - https://docs.microsoft.com/ru-ru/wi...ngstarted/provision-a-target-computer-wdk-8-1 , которая описывает процесс настройки процесса по автоматической отправке драйвера на целевую машину.
    Дословно:
    Но сведений для полной настройки процесса там не достаточно, я много чего успел попробовать, но процесс не завелся.
    К вашему вопросу - Драйвер может быть установлен двумя способами - программно, например с помощью KmdManager, и с помощью inf файла. В данном случае явно используется второй метод. То есть драйвер устанавливает с помощью inf файла, запускается системой и отладчик останавливается на первой точке останова, которая ему встретится в самом драйвере.
     
  10. drem1lin

    drem1lin Member

    Публикаций:
    0
    Регистрация:
    17 мар 2009
    Сообщения:
    300
    Спасибо, что так высоко оценили мои интеллектуальные возможности.
     
  11. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    drem1lin,

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

    drem1lin Member

    Публикаций:
    0
    Регистрация:
    17 мар 2009
    Сообщения:
    300
    Мне уже приходилось работать с драйверами пару лет назад, не очень плотно, но для решения необходимых задач хватало. А та часть, о которой я спрашиваю относится по мнению самого же майкрософта к "gettingstarted", т.е. с содержимым статьи должен справиться начинающий. А проблемы возникают у всех людей и не зависят от платформы, языка, и возникают они по разным причинам - из-за запарки или потому что многократное чтение документации и разных статей начинает образовывать кашу в голове. Мы все не идеальны.
     
  13. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.548
    Адрес:
    Russia
    Вот в этом и проблема скорее всего.
    Для начала скажите - есть ли у вашего подопытного драйвера inf файл? Запускается ли он в ручную через Inf установку?
     
  14. Fail

    Fail Active Member

    Публикаций:
    0
    Регистрация:
    14 мар 2012
    Сообщения:
    503
    А еще лучше - не забивайте себе голову и ставьте ВиртуалКД.

    PS

    На сайте(официальном) подробнейший мануал для запуска и настройки. С картинками.
     
  15. drem1lin

    drem1lin Member

    Публикаций:
    0
    Регистрация:
    17 мар 2009
    Сообщения:
    300
    ВиртуалКД у меня есть)
     
  16. drem1lin

    drem1lin Member

    Публикаций:
    0
    Регистрация:
    17 мар 2009
    Сообщения:
    300
    Инф файл есть и приводит к установке и запуску драйвера, и что бы не быть голословным приложу inf файл, и логи запуска деплоя с цели и хоста.
     

    Вложения:

    • Host_logs.txt
      Размер файла:
      4,3 КБ
      Просмотров:
      823
    • target_logs.zip
      Размер файла:
      11,3 КБ
      Просмотров:
      248
    • MyDriver1.inf.txt
      Размер файла:
      820 байт
      Просмотров:
      818
  17. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.548
    Адрес:
    Russia
    у вас скорее всего ошибка в inf файле

    Смотрим inf:
    без комментариев
     
  18. drem1lin

    drem1lin Member

    Публикаций:
    0
    Регистрация:
    17 мар 2009
    Сообщения:
    300
    Благодарю вас за ответ, на самом деле я думал, что указав класс устройства, то и GUID он сам подберет по имени.
    Я в ручную указал GUID
    и продвинулся в установке дальше, но появилась другая ошибка
    я так понимаю, что ему не нравится устанавливать драйвера в этот класс. Соответственно в какой класс надо установить драйвер, не привязанный к устройству? Я попробовал классы LegacyDriver, System, Unknown.
     
    Последнее редактирование: 11 апр 2018
  19. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.548
    Адрес:
    Russia
    drem1lin,
    такого не бывает. inf всегда описывают оборудование. Будь это реальные физ устройства или виртуальные или фильтры и минипорты. Всегда есть класс.
    Если ваш драйвер не обслуживает ни одно устройство или класс устройств или еще что - то вы его с помощью Inf Не сможете загрузить.
     
  20. drem1lin

    drem1lin Member

    Публикаций:
    0
    Регистрация:
    17 мар 2009
    Сообщения:
    300
    В данный момент этот драйвер состоит только из Unload и DriverEntry с DbgBreakPoint(). Но с помощью приведенного инф он устанавливается и запускается, не зависимо от того, какой класс я указал. Т.е. метод от Microsoft что то проверяет дополнительно. Вообще этот драйвер планировался как некий макет для эксперимента, который надо провести из ядра, и не должен быть связан с каким либо устройством, как драйвер антивируса, например.