Перейти к содержанию
    

Подключение WinDbg к удалённому хосту

Здравствуйте,

 

Вопрос относительно подключения отладчика к тестовой машине.

 

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

Using NET for debugging
Opened WinSock 2.0
Waiting to reconnect...

 

Через студию (Driver -> Test -> Configure computers) меняю параметры подключения (порт и/или шину), применяю их на тестовом компьютере, и после некоторых шаманств с этими параметрами отладчик успешно подключается. Однако, на тестовом компьютере из диспетчера пропадает моё устройство. После перезагрузки тестового компьютера устройство появляется, отладчик вновь не может подключиться.

 

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

 

Была ли у кого-нибудь подобная проблема и в чем вообще тут может быть дело?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Была ли у кого-нибудь подобная проблема и в чем вообще тут может быть дело?

 

Подобной проблемы не было. Однако, могу сказать, как я подключаюсь, со 100%-ной повторяемостью

Использую COM-порт, либо IEEE-1394. На удаленной машине запускаю Windbg, там File->Kernel Debug... ну и OK.

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробовал и заметил вот что:

 

Если на тестовом компьютере выполнить

bcdedit -debug on

и перезагрузить, то отладчик подключится, а устройство также пропадёт.

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

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

и перезагрузить, то отладчик подключится, а устройство также пропадёт.

 

Так, не отключая отладчика, поставьте/подключите свое устройство. Оно и появится. Для этого перезагрузка не нужна, оно же PnP.

 

А чтобы при следующей перезагрузке коннект опять был, надо в отладчике отключиться, затем перегрузить отлаживаемую, и пока комп всякие там биосы проходит, в отладчике инициировать ожидание подключения (опять, File->Kernel Debug, OK). Или, прижать его резетом на это время, если не успеваете.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В том-то и странность.

Когда соединение устанавливается, устройство не определяется в системе :) (неужто это клятый kmdf)

Включаю-выключаю его, диспетчер устройств молчит, в консоли отладчика тишина.

 

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

 

Не уверен насчёт причинно-следственной связью между соединением и инициализацией. Но корреляция очевидна.

 

UPD:

Когда соединение происходит, а устройство, соответственно, не цепляется -- драйвер, естественно, не устанавливается

Когда устройство находится в системе, к системе не получается подключиться отладчиком.

Изменено пользователем spbroma

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Включаю-выключаю его, диспетчер устройств молчит, в консоли отладчика тишина.

Если я правильно помню, у Вас же PCIe устройство. Как его можно включать-выключать во время работы винды? Оно должно быть включено во время инициализации BIOS, так как именно BIOS его инициализирует, а Windows потом только обнаруживает.

 

Хотите сказать, что в диспетчере устройств его при этом ни в каком виде нет? А драйвер-визард что говорит? Видит его?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если я правильно помню, у Вас же PCIe устройство. Как его можно включать-выключать во время работы винды? Оно должно быть включено во время инициализации BIOS, так как именно BIOS его инициализирует, а Windows потом только обнаруживает.

 

Хотите сказать, что в диспетчере устройств его при этом ни в каком виде нет? А драйвер-визард что говорит? Видит его?

 

Я сам удивился этому,но при включении устройства при запущенной винде она прекрасно его находит и при обновлении устройств в диспетчере задач появляется либо как прописано в драйвере, либо как неизвестное устройство - PCI-контроллер памяти, как и указано в корке на ПЛИС. Но не всегда. Иногда не появляется даже если включено до запуска винды. (И именно тогда срабатывает подключение отладчика к тестовому компу)

 

Да, выглядит как-то бредово :)

 

А о каком драйвер-визарде вы говорите?

 

Кстати, если в inf-е прописать id оборудования как Root\Test, то наличие/отсутствие соединения всё равно каким-то образом связано с тем, определяется устройство на тестовом компьютере (в данном случае как раз как неопознанный контроллер памяти) или нет.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А о каком драйвер-визарде вы говорите?

О Jungo - им удобно смотреть по ходу событий, что там в девайсе, есть ли он в системе, и что в его регистрах.

 

Кстати, если в inf-е прописать id оборудования как Root\Test,

А зачем это надо? Я сразу прописываю VID/PID, как положено.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хотите сказать, что в диспетчере устройств его при этом ни в каком виде нет? А драйвер-визард что говорит? Видит его?

Да, если нет в диспетчере устройств, виндрайвер тоже не видит.

 

 

А зачем это надо? Я сразу прописываю VID/PID, как положено.

Да я тоже, это в рамках поиска и проб.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, если нет в диспетчере устройств, виндрайвер тоже не видит.

А биос-то видит? В списке устройств, который "пролетает" в процессе загрузки?

Если его никто не видит, то это проблема железки. И вообще, это очень похоже на проблему железки. И смените ее тип, тоже мне, контроллер памяти. Возможно, БИОС его замапливает куда-то в общую память компа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А биос-то видит? В списке устройств, который "пролетает" в процессе загрузки?

Во время загрузки не успеваю за списком уследить :) Есть ли более гуманные методы?

 

И смените ее тип, тоже мне, контроллер памяти. Возможно, БИОС его замапливает куда-то в общую память компа.

Хм. Сейчас попробую сконфигурить его как мультимедийное устройство. Просто "контроллер памяти" предлагался коркой по умолчанию и я решил не трогать это.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть ли более гуманные методы?

Я ничего лучше не придумал, чем его сфоткать :) :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

То есть, сценарий следующий?

 

0. Тестовый компьютер выключен. Рабочий пытается подключиться отладчиком.

1. Включение тестового компьютера.

2. На каком-то этапе отладчик подключается.

3. После того как устройство инициализировано в системе, можно запускать установку драйвера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...