Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Отладка драйвера в X64  (Прочитано 11147 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
zubr
Гость
« : 20-07-2010 03:39 » 

Привет всем.
Проблема в следующем. Для драйверов x86 использую для отладки связку WinDbg+WMWare, меня это вполне устраивает. Пытаюсь аналогично делать для драйверов x64 - WinDbg отказывается коннектится к WMWare. Подозреваю, что хост-система тоже должна быть x64 с WinDbg for x64 (пытаюсь делать из хоста WinXP x86, отлаживаемая система в WMWare - Win7 x64). Если кто делал такое, пните меня в нужном направлении. Да и если все таки нужно, чтобы хост был также x64, можно ли сделать, чтобы хостом была тоже виртуальная система.
З.Ы. Предварительно драйвер подписал как тестовый и соответственно настроил систему, то есть без отладки драйвер запускается.
Записан
zeo
Интересующийся

ru
Offline Offline
Пол: Мужской
Челябинск, Россия


« Ответ #1 : 16-09-2010 11:42 » new

>> Подозреваю, что хост-система тоже должна быть x64 с WinDbg for x64
Нет хост может быть любой. Я сам пишу драйвера на х64 и тестирую на VmWare Server и Virtualbox под Win XP x32.
Может быть у тебя проблема с тем что ты не можешь прочитать дебаг сообщения. В висте изменилось реакция KdPrint. Теперь там все сообщения фильтруются. http://msdn.microsoft.com/en-us/library/ff551519%28VS.85%29.aspx
Записан
x64
Участник

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 16-09-2010 11:49 » 

А вот и утилита, которая поможет включить отладочный вывод на Windows Vista и выше, т.к. на этих системах он по-умолчанию выключен. Выставьте значение 15 для элемента DEFAULT и перезагрузите систему. Далее через DebugView все сообщения можно будет видеть.
Записан
zubr
Гость
« Ответ #3 : 16-09-2010 12:45 » 

Нет у меня проблема именно при подключении отладчика к отлаживаемой системе. Отладочные сообщения в DebugView (команда DbgPrint) как раз работают с установками системы по дефолту (Win7X64).
Мои действия:
1. Подписываю драйвер как отладочный.
2. В виртуальной машине устанавливаю подключение через pipe: \\.\pipe\com_1
3. В гостевой системе устанавливаю с помощью утилиты bcdedit
bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS
bcdedit.exe -set TESTSIGNING ON
4. Перегружаю систему.
5. В настройках WinDbg устанавливаю com:port=\\.\pipe\com_1,pipe
При подключении отладчика в KernelDebug ничего не присходит.
При выполнении аналогичных действий, кроме подписи драйвера в Win7x86, WinDbg успешно подключается.
Собственно я тот проект давно закончил, пришлось отлаживать путем отладочных сообщений, а искать причину не работы WinDbg пока не было времени.
Записан
x64
Участник

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 16-09-2010 13:40 » 

С виртуалками VMware на Windows 7 у меня баг был (собственно, до сих пор имеет месть быть), он отладчик не всегда подцепляет. Мне обычно приходится после запуска виртуалки (уже после прохождения загрузочного меню) закрывать WinDbg и открывать снова с теми же параметрами, - тогда подцепляет. Хотя хрен знает, может быть в настройках виртуального COM-порта дело, а может быть и вправду баг, - проверь.
Записан
zubr
Гость
« Ответ #5 : 16-09-2010 14:02 » 

Баг есть, он людьми описан. Я после подключения команду  Break делаю -  тогда подключается. Но в x64 - ни в какую. Правда пробовал только на 7-ке.
Записан
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #6 : 16-09-2010 21:16 » 

zubr, настройки bcdedit, которые ты привел в посте #3 - это все что ты включаешь? никакого debug? если так, то неудивительно.
Кстати насчет подписи, я не знаю зачем все парятся с этим делом. Если ты под отладчиком, то подписывать драйвер не требуется.
Записан
zubr
Гость
« Ответ #7 : 16-09-2010 22:20 » 

resource, debug у меня стоял в настройках, просто забыл написать. Кстати сейчас проверил - отладчик подцепился. Чего он тогда отказывался - хз?
Насчет подписи - ты прав, в дебаге и без подписи работает.

Вопрос снят. Спасибо всем.
« Последнее редактирование: 16-09-2010 22:24 от zubr » Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines